Я разработал фреймворк, который позволяет другим людям подключать различные реализации оптимизаторов. Эти оптимизаторы запускаются асинхронно, и я подключил слушателей для запуска до и после внутри асинхронного кода для контроля за выполнением оптимизатора. Например:Ловушка Runtime Исключения в стороннем коде
public void async(Optimizer o){
runListeners(o);
o.run();
runListeners(o);
}
Моя проблема заключается в том, что некоторые ленивый программист бросает некоторый NullPointerExceptions
внутри своего кода и предотвращения метод от выполнения слушателей во второй раз. Я думал о том, чтобы поймать RuntimeException
, но это мне не нравится.
Если вы хотите все поймать, просто поймайте все «Throwable» или, по крайней мере, «Exception». Это неверно на уровне верхнего уровня/планирования/запуска вашей программы. –
Я стараюсь, чтобы JVM не ошибался. Например, если есть OutOfHeapspace или какая-то другая очень плохая ошибка. – babsher