Usar "try catch" para lançar Exceptions não deixa o código mais pesado? Não teria outra possibilidade para parar o methodo e lançar a exception no caso de um "if" com return no final dele?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Usar "try catch" para lançar Exceptions não deixa o código mais pesado? Não teria outra possibilidade para parar o methodo e lançar a exception no caso de um "if" com return no final dele?
Olá Marcelo, tudo bem?
O try catch é feito para esse propósito, outro ponto é a possibilidade de usar o finally para códigos que devem ser executados independentemente se ocorreu alguma exceção ou não.
As estruturas são específicas justamente para tentar executar algum código e pegar os possíveis erros desse código e fazer alguma ação a partir disso. Resolver esse problema com if seria como reinventar a roda, porque em determinado momento teria que pegar o resultado da exceção e fazer uma comparação para retornar um booleano, para entrar em algum ramo do if, então, por ser uma estrutura que é utilizada há um bom tempo já vem com otimizações para pesar o menos possível e também tem o papel de indicar exatamente onde existe a possibilidade de ocorrer a exceção no código (fator legibilidade).
Então, não me parece valer a pena tentar refazer essa estrutura, porque qualquer programador(a) que bater o olho no try sabe que aquele trecho pode ocorrer uma exceção.
Espero ter ajudado!