Установка кода выхода в Python при возникновении исключения - PullRequest
26 голосов
/ 17 июля 2011
$ 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 Ответ

42 голосов
/ 17 июля 2011

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

import sys, traceback

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

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

...