Try Catch na produção

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?

:smiley: 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!