Ich sehe keinen großen Unterschied zwischen den Belangen der Ausnahmebehandlung und der Anmeldung, da beide übergreifende Belange sind. Was denkst du? Sollte es nicht separat gehandhabt werden, anstatt mit der Kernlogik, die eine Methode implementiert, verschachtelt zu sein?
EDIT : Ich versuche zu sagen, dass eine Methodenimplementierung meiner Meinung nach nur die Logik für den erfolgreichen Ausführungspfad enthalten sollte und Ausnahmen an anderer Stelle behandelt werden sollten. Hierbei handelt es sich nicht um aktivierte / deaktivierte Ausnahmen.
Beispielsweise kann eine Sprache Ausnahmen vollständig überprüft behandeln, indem sie Konstrukte wie das folgende verwendet:
class FileReader {
public String readFile(String path) {
// implement the reading logic, avoid exception handling
}
}
handler FileReader {
handle String readFile(String path) {
when (IOException joe) {
// somehow access the FileInputStram and close it
}
}
}
In der oben genannten konzeptionellen Sprache wird das Programm ohne FileReader
Handler nicht kompiliert , da die readFile-Datei der FileReader
Klasse keine Ausnahme auslöst. Indem der FileReader
Handler deklariert wird , kann der Compiler sicherstellen, dass er behandelt wird, und das Programm wird dann kompiliert.
Auf diese Weise haben wir sowohl bei aktivierten als auch bei nicht aktivierten Ausnahmeproblemen das Beste: Robustheit und Lesbarkeit.