首页 > 解决方案 > 从 Python 3 中的 try-catch 块内部退出脚本

问题描述

我试图从一个try: except:块内退出一个脚本,除非它只是进入异常情况。

都不是...

try:
    exit()
except:
    pass()

try:
    quit()
except:
    pass

import sys
try:
    sys.exit()
except:
    pass

...退出我的脚本,他们只是继续进行例外情况。

我将如何从这些块之一中退出我的脚本?

标签: pythontry-catchexit

解决方案


所有这些示例都会引发SystemExit异常并且您正在捕获该异常,空白except子句将捕获所有异常。

这就是为什么您应该始终指定要捕获或至少使用的异常的原因,except Exception例如

try:
    exit()
except Exception:
    pass

try:
    quit()
except Exception:
    pass

import sys
try:
    sys.exit()
except Exception:
    pass

有了这个改变,你所有的例子都会导致你的 Python 应用程序退出


推荐阅读