Подтвердить что ты не робот

Установка кода выхода в Python при возникновении исключения

$ 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, все еще сбрасывая полную трассировку стека. Какой лучший способ сделать это?

4b9b3361

Ответ 1

Взгляните на модуль traceback. Вы можете сделать следующее:

import sys, traceback

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

Это будет записывать трассировку на стандартную ошибку и выйти с кодом 3.