引发异常时在Python中设置退出代码

时间:2011-07-16 20:43:29

标签: python exception exit-code

$ 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。最好的方法是什么?

1 个答案:

答案 0 :(得分:41)

查看traceback模块。您可以执行以下操作:

import sys, traceback

try:
  raise Exception()
except:
  traceback.print_exc()
  sys.exit(3)

这将写回溯到标准错误并退出代码3。