Python Пирамида исключений_просмотр подробностей исключений - PullRequest
0 голосов
/ 16 апреля 2020

Я использую платформу Python Pyramid и играю с исключениями.

Например,

@exception_view_config(TypeError, renderer='json')
def type_error(exc, request):
    logger.info("There was a type error %s", str(exc)

Однако объект исключения не имеет полезной информации о том, где произошла ошибка. Вместо этого в трассировке это excview_tween [tweens.py:43]

Есть ли способ получить более релевантную информацию в этом представлении исключений?

1 Ответ

0 голосов
/ 16 апреля 2020

Вам нужно будет что-то сделать с аргументом exc, регистрирующим это или возвращающим в представлении.

class TypeError(Exception):
    def __init__(self, msg):
        self.msg = msg
@exception_view_config(TypeError, renderer='json')
def type_error(exc, request):
    response =  Response('Type Error: %s' % exc.msg)
    response.status_int = 500
    return response

Вам нужно будет вызвать исключение с помощью exc.

raise TypeError("Here I am!")

См. Пользовательские виды исключений .

...