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?
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!