Python: инициализация исключения из другого (например, повышение... из, но без повышения)Python

Программы на Python
Anonymous
Python: инициализация исключения из другого (например, повышение... из, но без повышения)

Сообщение Anonymous »

Я работаю над частью кода приложения FastAPI, который (уже) имеет некоторую обработку исключений, где обработчики получают исключения в качестве аргументов функции, некоторые исключения преобразуются в другие исключения, а затем передаются другим функциям-обработчикам. Моя задача — их логировать, и мне хотелось бы иметь возможность сохранять всю stactrace, в том числе и для тех исключений, которые возникли в результате преобразования других исключений. Однако при вызове return MyNewException(old_exc.args) вся трассировка стека из первого исключения теряется.
Я знаю, что вы можете добавить к stactrace, если поднимете MyNewException(old_exc.args) из old_exc, но здесь нет поднятия, только передача исключений, созданных и перехваченных в другом месте.
Есть ли способ включить трассировку стека из оригинала исключения в моей ситуации?

Подробнее здесь: https://stackoverflow.com/questions/787 ... h-no-raise

Вернуться в «Python»