try:
x="blaabla"
y="nnlfa"
if x!=y:
sys.exit()
else:
print("Error!")
except Exception:
print(Exception)
我不是在问为什么会抛出错误。我知道它引发了exceptions.SystemExit
。我想知道是否有另一种退出方式?
答案 0 :(得分:2)
os._exit()
将在没有SystemExit
或普通python退出处理的情况下执行低级进程退出。
答案 1 :(得分:1)
这样的一些问题应该伴随着代码背后的真实意图。原因是一些问题应该完全不同地解决。在脚本的正文中,return
可用于退出脚本。从另一个角度来看,您可以只记住变量中的情况,并在try/except
构造之后实现所需行为。或者您的except
可能会测试更明确的例外情况。
下面的代码显示了变量的一个变体。变量被赋予一个函数(这里不调用赋值的函数)。仅在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()