39
$ 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,同时仍转储完整的堆栈跟踪。最好的方法是什么?

4

1 回答 1

53

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

import sys, traceback

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

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

于 2011-07-16T20:52:41.177 回答