Wie fange ich RuntimeExceptions von Executors richtig ab?
Angenommen, ich habe den folgenden Code:
ExecutorService executor = Executors.newSingleThreadExecutor();
executor.execute(myRunnable);
Nun, wennmyRunnable
wirft einRuntimeExcpetion
, wie kann ich es fangen? Ein Weg wäre, meine eigenen zu versorgenThreadFactory
Umsetzung zunewSingleThreadExecutor()
und Benutzerdefiniert einstellenuncaughtExceptionHandler
s für dieThread
Es ist das Ergebnis. Ein anderer Weg wäre zu wickelnmyRunnable
zu einem Einheimischen (anonym)Runnable
das enthält einen try-catch-block. Möglicherweise gibt es auch andere ähnliche Problemumgehungen. Aber ... irgendwie fühlt sich das schmutzig an, ich finde, dass es nicht so kompliziert sein sollte. Gibt es eine saubere Lösung?