Я попросил об обнаружении проверенных исключений в контексте потока; принятым ответом было использование Callable
и Future
.Использование анонимной темы для ловушек Исключения
Но я понял, что могу просто обернуть «рабочий» метод анонимным потоком и поймать исключение, поскольку оно будет выполнено без потоков.
(логика работника была перенесена из нового класса, реализованного Callable к классу вызывающего абонента)
class BlaBla{
public void foo(){
Thread th = new Thread(new Runnable() {
public void run() {
try {
doWork();
} catch (MyCheckedException e) {
dosomething();
}
}
});
th.start();
}
public void dowork throws MyCheckedException{
}
Есть ли какие-либо проблемы с этим подходом?
Вопрос о том, есть ли проблема или нет, зависит от того, чего вы пытаетесь достичь. Почему вы не хотели ломать исключения в своей основной теме? – einpoklum
Да, это нормально или вы можете использовать UncaughtExceptionHandler: http://stackoverflow.com/a/12409676/829571 – assylias