Ich habe diese Dateien in meinem Projekt:
%Vor% main
ist die Hauptdatei, die direkt in der Konsole ausgeführt wird.
module1
wird in main
importiert und wirft Module1Exception
.
module2
wird in module1
, throws Module2Exception
importiert
und verwendet lib, die NormalException
und CriticalException
Ausnahmen auslöst.
Bei allen Ausnahmen sollte die Anwendung beendet werden.
Welche Option ist am effektivsten, um diese Fehler zu erfassen?
a) Alle Ausnahmen werden in main
abgefangen, Nachricht gedruckt und beendet
b) Ermöglicht Modulen das Abfangen von Ausnahmen ( module2
catch lib Ausnahmen, module1
catch nur Module2Exception
und main
catch Module1Exception
), Nachricht drucken und beenden.
c) Wie b , mit der Ausnahme, dass Module nicht beendet werden, sondern False zurückgegeben wird und exit in main
Bearbeiten:
Dies ist eine serverseitige Anwendung, die als Daemon läuft. Ich erwarte, dass ich in Zukunft mehrere Server mit globaler Protokollüberwachung wie Gerinne oder Schreiber verwenden werde. Ausnahmen müssen abgefangen werden. Diese Dateien sind nur ein Beispiel. Tatsächlich schreibe ich eine große Anwendung, die als eine Art Server fungiert. In diesem Moment schreibe ich Modul zum Laden und Parsen der Konfigurationsdatei. In diesem Fall sollte das Skript beendet werden, wenn Ausnahmen ausgelöst werden. Und nur in diesem Fall. Nach dem Laden der Konfigurationsdateien und dem Bestehen der Tests bleibt das Skript unbeaufsichtigt.
main
sollte die Verantwortung haben, zu beenden, nicht die Module.
Was ist, wenn Sie diese Module in ein anderes Projekt importieren möchten und nicht die Anwendung für eine Ausnahme beenden möchten?
Tags und Links python