$ cat e.py
raise Exception
$ python e.py
Traceback (most recent call last):
File "e.py", line 1, in <module>
raise Exception
Exception
$ echo $?
1
我想将此退出代码从 1 更改为 3,同时仍转储完整的堆栈跟踪。最好的方法是什么?
traceback
模块。您可以执行以下操作:
import sys, traceback
try:
raise Exception()
except:
traceback.print_exc()
sys.exit(3)
这会将回溯写入标准错误并以代码 3 退出。