Как установить обработчик сбоя в AppEngine? - PullRequest
1 голос
/ 05 марта 2012

Как можно настроить Java-версию AppEngine для захвата всех исключений?

Идея состоит в том, чтобы отправить электронное письмо, когда это произойдет.

В AppEngine Python + Django это тривиально (просто правильно сконфигурируйте Django), но я чувствую, что в Java-варианте это тоже должно быть просто, но, возможно, я чего-то упускаю.

Ответы [ 2 ]

4 голосов
/ 05 марта 2012

Вы можете установить свой собственный обработчик ошибок , перехватывая общее исключение:

<error-page>
    <exception-type>java.lang.Exception</exception-type>
    <location>/errors</location>
</error-page>

Тогда вы можете иметь сервлет на /errors, который делает все что угодно, обычно регистрируя ошибкуи отображение правильного ответа для пользователя.

0 голосов
/ 05 марта 2012

Просто поместите исключение вокруг вашего основного:

public static void main(String[] args) {
    try {
        safeMain(args);
    } catch(Throwable e) {
        emailCrashInfo(e);
    }
}

public static void safeMain(String[] args) {
    // Your normal main method
}
...