O Try Catch para tratar excessões é um processo custoso em tempo de execução?
A duvida é a seguinte.
Posso (devo) deixar Try Catch nos códigos em produção, ou é (altamente) recomendavel que eu os utilize apenas para debugar o código??
Ex:
String primeiro = (String)request.getParameter(“p”);
try {
valor = Integer.parseInt(primeiro);
} catch (Exception ee) {
valor = 1;
}
Tudo bem, que se eu não tratar com try, a excessão que o Integer.ParseInt vai gerar será NumberFormatException, então fica sendo esta a melhor saida mesmo?
==============
Desenvolvedores. Se não fossemos nós, quem iria xingar o DBA?
Sua pergunta pode ser traduzida mais o menos assim:
Posso ter if’s na produção ou atrapalha o desempenho?
Vá em frete com o try catch
É isso aí. A estrutura de try/catch do Java é o formato que a linguagem fornece ao programador para lidar com tratemento de quaisquer tipos de erro. Assim, aproveitando o exemplo que você passou, ao invés de usar um “if” para verificar se a conversão foi bem sucedida, basta colocar o código no catch, que será invocado se uma esceção ocorrer.
Apenas evite códigos utilizando “Exception”, prefira dar um catch diretamente em IOException por exemplo.
[quote=“Carlos H”]
Apenas evite códigos utilizando “Exception”, prefira dar um catch diretamente em IOException por exemplo.[/quote]
Isso é uma otima pratica … Sempre “pegue” as exceções no nivel mais especializado possivel. Vai facilitar muito seu trabalho de depuração além de deixar seu codigo mais claro!