Wird ordnungsgemäß beendet, wenn die Datei nicht vorhanden ist

Ich habe folgendes Skript in Python 3.2.3:

try:
    file = open('file.txt', 'r')
except IOError:
    print('There was an error opening the file!')
    sys.exit()

#more code that is relevant only if the file exists

Wie kann ich ordnungsgemäß beenden, wenn die Datei nicht vorhanden ist (oder einfach ein Fehler beim Öffnen vorliegt)?

ich kann nutzenexit()Daraufhin wird ein Dialogfeld geöffnet, in dem Sie gefragt werden, ob die Anwendung beendet werden soll.

ich kann nutzensys.exit()Dies löst jedoch eine SystemExit-Ausnahme aus, die in der Ausgabe nicht besonders gut aussieht. Ich bekomme

Traceback (most recent call last):   
File "file", line 19, in <module>
    sys.exit() SystemExit

ich kann nutzenos.exit(), aber das tötet den Python auf C-Level, ohne dass ich irgendwelche Aufräumarbeiten mache.

Ich kann eine boolesche Variable verwenden und den gesamten nachfolgenden Code einbinden, wenn ... aber das ist hässlich, und dies ist nicht die einzige Überprüfung, die ich durchführe. Also hätte ich gerne sechs verschachtelte wenns ...

Ich möchte nur die Meldung "Es ist ein Fehler aufgetreten ..." drucken und den Vorgang beenden. Ich arbeite im Leerlauf.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage