Sollen Catch-Blöcke zum Schreiben von Logik verwendet werden, z. B. zur Flusskontrolle? Oder nur um Ausnahmen zu werfen? Beeinflusst es die Effizienz oder Wartbarkeit von Code?
Was sind die Nebenwirkungen (falls vorhanden) des Schreibens von Logik in den Catch-Block?
BEARBEITEN:
Ich habe eine Java SDK-Klasse gesehen, in der sie Logik in den catch-Block geschrieben haben. Zum Beispiel (Ausschnitt aus der java.lang.Integer
Klasse):
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 :
Ich habe ein Tutorial durchlaufen, in dem sie es als einen Vorteil beim Schreiben der Logik von Ausnahmefällen innerhalb der Ausnahmen ansehen:
Mit Ausnahmen können Sie den Hauptfluss Ihres Codes schreiben und die Ausnahmefälle an anderer Stelle behandeln.
Gibt es spezielle Richtlinien, wann Logik in einen catch-Block geschrieben werden soll und wann nicht?