Les blocs catch doivent-ils être utilisés pour écrire la logique, c'est-à-dire gérer le contrôle de flux, etc.? Ou tout simplement pour lever des exceptions? Cela affecte-t-il l'efficacité ou la maintenabilité du code?
Quels sont les effets secondaires (s'il y en a) de l'écriture de la logique dans le bloc catch?
ÉDITER:
J'ai vu une classe Java SDK dans laquelle ils ont écrit la logique à l'intérieur du bloc catch. Par exemple (extrait de java.lang.Integer
classe):
try {
result = Integer.valueOf(nm.substring(index), radix);
result = negative ? new Integer(-result.intValue()) : result;
} catch (NumberFormatException e) {
String constant = negative ? new String("-" + nm.substring(index))
: nm.substring(index);
result = Integer.valueOf(constant, radix);
}
EDIT2 :
Je suivais un tutoriel où ils le considèrent comme un avantage d'écrire la logique des cas exceptionnels à l'intérieur des exceptions:
Les exceptions vous permettent d'écrire le flux principal de votre code et de traiter les cas exceptionnels ailleurs.
Des directives spécifiques quand écrire la logique dans le bloc catch et quand ne pas le faire?