Ведение журнала в главном () - PullRequest
3 голосов
/ 30 марта 2012

Catching Throwable не рекомендуется по причинам, изложенным в разных сообщениях. Однако имеет ли смысл иметь основную структуру, как показано ниже? Если удаляемая строка удаляется, ошибки не регистрируются.

public static void main(String[] args) {
    try {
        launchMyApplication();
    } catch (SomeCheckedException e) {
        //recover if you can, log it if you can't
    } catch (Exception e) {
        //recover if you can (unlikely), log it if you can't
    } catch (Throwable e) {
        //Don't try to recover, but log it
        logger.error("Oops: {}", e);
    }
}

1 Ответ

10 голосов
/ 30 марта 2012

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

Лучший способ решить эту проблему - использовать Thread.setDefaultUncaughtExceptionHandler () .

...