Ответ 1
Взгляните на модуль traceback
. Вы можете сделать следующее:
import sys, traceback
try:
raise Exception()
except:
traceback.print_exc()
sys.exit(3)
Это будет записывать трассировку на стандартную ошибку и выйти с кодом 3.
$ 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.