Мне кажется, что обычно вы хотите, чтобы программа на 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)
В этом нет ничего особенного, но эта функция кажется настолько простой, что я не могу не задаться вопросом, не существует ли более простогоспособ сделать это.Я что-то пропустил?Или это хорошее решение?