Я хочу знать, правильно ли работает Python script или нет. Для этого я использую atexit
, но проблема в том, что я не знаю, как дифференцироваться, если atexit был вызван с sys.exit(0) или ноль или исключение.
Рассуждение: если программа закончится правильно, она ничего не сделает, но если программа закончится исключением или вернет код ошибки (статус выхода), отличный от нуля, я хочу вызвать какое-то действие.
В случае, если вы зададите себе вопрос, почему я не использую try/, это потому, что я хочу добавить такое же поведение для дюжины сценариев, которые импортируют общий модуль. Вместо того, чтобы модифицировать их все, я хочу добавить хакер atexit() к импортируемому модулю и получить это поведение бесплатно во всех них.