Подтвердить что ты не робот

Есть ли необработанный обработчик исключений в Java?

Если я правильно помню в .NET, можно зарегистрировать "глобальные" обработчики для необработанных исключений. Мне интересно, есть ли что-то подобное для Java.

4b9b3361

Ответ 3

Да, существует "почти" глобальный такой обработчик, доступный в ThreadGroup. Это не так глобально, как тот, о котором вы говорите, но вы можете в основном реализовать ту же функциональность.

Начиная с Java 5, существует аналогичная функциональность, доступная непосредственно на класс Thread.

Ответ 4

Часто фреймворки Java, такие как Struts и Spring (и Servlet Spec, IIRC), позволяют вам устанавливать глобальный обработчик исключений. Однако эти механизмы специфичны для каждой структуры.

Ответ 5

Предполагая, что это как catch (...) в С++, вы бы сделали:

try
{
   // your code here
}
catch(Throwable ex)
{
   // any sort of exception, even if the VM has choked on a peanut
}

В общем, это не очень хорошая идея, если вы не имеете дело с сторонним кодом (вы должны всегда бросать подклассы Exception (а не RuntimeException) в свой собственный код - если только это не указывает на ошибку программиста, которая должна быть delt с помощью модульного тестирования.