Каковы отрицательные последствия выталкивания проверенного исключения непосредственно в UncaughtExceptionHandler?Что происходит, если Thread.getUncaughtExceptionHandler(). UncaughtException вызывается напрямую?
Thread t = new Thread() {
@Override
public void run() {
try {
verb();
} catch (Exception e) {
getUncaughtExceptionHandler().uncaughtException(this,e);
}
}
};
Очевидно, что там (должно быть) последствия для применения - кто писал глагол() думал, что это особое состояние должно было быть обработано. Предполагая, что я готов игнорировать это, что еще пойдет не так?
Есть ли последствия для вызова ExceptionHandler до поток вот-вот завершится?
Я считаю, что код строго эквивалентен 'public void run() {verb(); } '(поскольку, по определению, uncatchExceptionHandler должен улавливать необработанные исключения). – assylias
Если 'verb()' выбрасывает проверенное исключение, в этом случае вы должны его поймать, а код просто позволяет обработчику по умолчанию обрабатывать его. – assylias