2013-11-22 5 views
0

Я хочу поймать каждое исключение (включая ошибку отступа в представлениях), где я могу их поймать?Есть ли способ поймать «IndentationError» в Django?

Я написал промежуточное программное обеспечение, оно ловит за исключения и не все из них.

Примечание:IndentationError в названии - всего лишь пример, я хочу уловить каждое исключение в приложении.

+1

Почему вы даже хотите сделать это? «SyntaxError» или «IndentationError» означает, что у вас есть основные проблемы с вашим кодом; и они должны быть «исключены» (которые пойманы, а затем обработаны вручную). Если вы пытаетесь зарегистрировать ошибки в промежуточном программном обеспечении, используйте службу ошибок, например [часовой] (https://getsentry.com/welcome/). –

+0

@BurhanKhalid 'IndentationError' был всего лишь примером. Sentry - сторонняя служба, и я не хочу ее использовать. Я создал собственный инструмент агрегирования ошибок, который агрегирует ошибки из приложения Django. И да, даже я знаю, что «SyntaxError» - это что-то плохое в коде, это просто пример исключения, могут быть и другие исключения, такие как «ConnectionTimedOut» для внешних служб и т. Д. – vedarthk

ответ

1

Вы можете установить https://pypi.python.org/pypi/pep8.
Он будет следить за тем, чтобы ваш проект соответствовал каждому стандарту pep8.
Он также покажет вам, есть ли ошибка с отступом.

+0

Я собираюсь это сделать, но я хочу знать метод, чтобы поймать все исключения. – vedarthk

-1

После отладки я обнаружил, что сигналы отправляются на django.core.signals.got_request_exception для всех исключений, которые происходят в Django i.e. Мы можем поймать все исключения, как только мы подключим функцию к этому сигналу.

2

IndentationError - SyntaxError, и было бы ужасной идеей уловить ошибки синтаксиса. Код должен быть проверен перед его выполнением.

Проверить этот вопрос Is IndentationError a syntax error in Python or not?

Кроме того, вы не можете пойманы SyntaxError, если это не происходит во время eval, compile и т.д. Более подробной информации here

+0

Да, я знаю, что IndentationError - это SyntaxError, это был просто пример. Дело в том, что я хочу поймать любое исключение, возможно, если вы подключитесь к 'django.core.signals.got_request_exception'. – vedarthk

 Смежные вопросы

  • Нет связанных вопросов^_^