Einige Fragen wie diese sollten wirklich von der wahren Absicht hinter dem Code begleitet werden. Der Grund ist, dass einige Probleme ganz anders gelöst werden sollten. Im Skriptkörper kann das return
zum Beenden des Skripts verwendet werden. Von einem anderen Standpunkt aus können Sie sich einfach an die Situation in einer Variablen erinnern und das gewünschte Verhalten nach dem try/except
Konstrukt implementieren. Oder Ihre except
kann explizitere Art einer Ausnahme testen.
Der folgende Code zeigt eine Variation der Variablen. Die Variable hat eine Funktion (die zugewiesene Funktion wird hier nicht aufgerufen). Die Funktion wird (über die Variable) erst nach dem try/except
:
#!python3
import sys
def do_nothing():
print('Doing nothing.')
def my_exit():
print('sys.exit() to be called')
sys.exit()
fn = do_nothing # Notice that it is not called. The function is just
# given another name.
try:
x = "blaabla"
y = "nnlfa"
if x != y:
fn = my_exit # Here a different function is given the name fn.
# You can directly assign fn = sys.exit; the my_exit
# just adds the print to visualize.
else:
print("Error!")
except Exception:
print(Exception)
# Now the function is to be called. Or it is equivalent to calling do_nothing(),
# or it is equivalent to calling my_exit().
fn()
aufgerufen. Was ist falsch an der Verwendung von 'sys.exit'? Wenn wir nicht wissen, warum Sie eine andere Lösung benötigen, können wir Ihnen keine vorschlagen, die für Sie funktioniert. –
Ich verstehe die Down-Stimmen nicht, es ist eine legitime Frage. Wenn Sie das Löschen von Objekten vermeiden möchten, können Sie 'os._exit' verwenden. – tdelaney
hallo @Morgan Thrapp.come on man.das funktioniert nicht.dies ist der Grund, ich möchte eine andere Lösung.Ich habe Änderungen in Frage.Klicken Sie mir helfen, dies zu sortieren. – kragor