Can';捕获SystemExit异常Python
我试图以以下方式捕获Can';捕获SystemExit异常Python,python,exception,exception-handling,Python,Exception,Exception Handling,我试图以以下方式捕获SystemExit异常: try: raise SystemExit except Exception as exception: print "success" 但是,它不起作用 但是,当我这样更改代码时,它确实起作用: try: raise SystemExit except: print "success" 据我所知,Exception As Exception应该捕获任何异常。这也是如何描述的。为什么在这里对我不起作用?因为,Sy
SystemExit
异常:
try:
raise SystemExit
except Exception as exception:
print "success"
但是,它不起作用
但是,当我这样更改代码时,它确实起作用:
try:
raise SystemExit
except:
print "success"
据我所知,Exception As Exception
应该捕获任何异常。这也是如何描述的。为什么在这里对我不起作用?因为,SystemExit不会从Exception继承。您必须使用除BaseException之外的
然而,这是有原因的:
异常继承自BaseException,而不是StandardError或exception,以便捕获异常的代码不会意外捕获它
以与处理SystemExit相同的方式处理“真实”异常是不常见的。除了SystemExit
Perfect外,您最好使用明确捕获SystemExit。谢谢文档异常层次结构中对此进行了很好的说明: