Глобальная обработка исключений в Google App Engine

Вместо того, чтобы инкапсулировать весь мой код в блок try {} except {}, есть ли какой-нибудь способ устранения исключений во всем мире?

В основном я ищу способ иметь глобальный обработчик исключений, который будет обрабатывать все необработанные исключения в моем приложении python, написанном для движка Google

3 Solutions collect form web for “Глобальная обработка исключений в Google App Engine”

Если вы используете инфраструктуру webapp, вы уже должны определять подкласс RequestHandler, который служит в качестве базового класса, при этом все обработчики вашего приложения расширяют это. Вы можете просто переопределить handle_exception , который служит глобальным обработчиком исключений для любых неперехваченных исключений.

Реализация по умолчанию вызывает self.error (500), регистрирует исключение, и если debug is on, выводится stacktrace.

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

Ну, на самом базовом уровне вы можете обернуть все сценарии вашего обработчика, на которые ссылается app.yaml, в гигантском блоке try-except.

Если вы используете инфраструктуру webapp, рассмотрите переопределение handle_exception() для каждого из ваших обработчиков запросов. Если вы хотите, чтобы все обработчики запросов имели определенную базовую обработку исключений, вы можете обработать запрос, который реализует этот метод, а затем выводит из него все ваши обработчики.

У вашего приложения, вероятно, есть функция main() , поместите try / except в эту функцию, и он поймает все из вашего приложения.

Python - лучший язык программирования в мире.