Como capturar corretamente RuntimeExceptions de Executores?
Digamos que eu tenha o seguinte código:
ExecutorService executor = Executors.newSingleThreadExecutor();
executor.execute(myRunnable);
Agora semyRunnable
lança umRuntimeExcpetion
como eu posso pegá-lo? Uma maneira seria fornecer meu próprioThreadFactory
implementação paranewSingleThreadExecutor()
e definir personalizadouncaughtExceptionHandler
s para oThread
s que saem disso. Outra maneira seria embrulharmyRunnable
para um local (anônimo)Runnable
que contém um bloco try-catch. Talvez haja outras soluções similares também. Mas ... de alguma forma isso parece sujo, eu sinto que não deveria ser tão complicado. Existe uma solução limpa?