Поднимите ошибку только с последней строкой трассировки стека - PullRequest
0 голосов
/ 29 ноября 2011

Мне кажется, что обычно вы хотите, чтобы программа на Python печатала (обычно со стандартной ошибкой) только последнюю строку трассировки стека, например:

IOError: Error reading file 'b'plunk'': b'failed to load external entity "plunk"'

У меня есть такое решение:

def print_error(ex:Exception, file) -> None:
    print('{0}: {1}'.format(ex.__class__.__name__, ex), file=file)

Пример использования:

try:
    crash in some manner
except Exception as ex:
    print_error(ex, sys.stderr)

В этом нет ничего особенного, но эта функция кажется настолько простой, что я не могу не задаться вопросом, не существует ли более простогоспособ сделать это.Я что-то пропустил?Или это хорошее решение?

1 Ответ

2 голосов
/ 29 ноября 2011

Я не знаю, есть ли лучший способ сделать это, но учитывая, что это все из 6 строк кода, и я не могу себе представить, что это займет много времени, я не думаю, что вам нужнолучше.

...