2012-03-05 2 views
1

Каким образом App App Store может быть настроен на захват всех исключений?Как установить обработчик аварии на AppEngine?

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

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

ответ

0

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

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

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

Вы даже можете поймать 'Throwable' – michael667

+0

Хорошая точка. Я не использовал Java некоторое время. –

+1

AFAIK нет '' 'main' '' нет AppEngine или любого контейнера Servlet ... – morais

4

Вы можете установить свой собственный Error Handler ловя родовое исключение:

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

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

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