Проблема
Я хотел бы отреагировать на возникновение исключения. Поэтому, если кто-то напишет
throw new FooException();
, система должна уведомить меня, чтобы я смог отреагировать на это событие.
Я также приму ответы, предлагающие фреймворки или инструменты, которые решают эту проблему, включая манипулирование байтовым кодом.
Подробности
- Он должен работать с любыми исключениями ; поэтому подклассы
Exception
, включая RuntimeException
. Меня не интересуют Error
s. - Он также должен срабатывать для уже пойманных исключений, независимо от того, где в базе кода это произошло (в том числе внутри JDK).
Итак, если кто-то делает
try {
foo();
} catch (FooException e) {
...
}
, я тоже хочу иметь возможность реагировать на это, не изменяя исходный код ...
.
Из-за что, try-catch-em-all вокруг основного потока не работает, он не будет перехватывать уже пойманные исключения.
То же самое касается Thread.setDefaultUncaughtExceptionhandler(...)
, не решит проблема.
Пожалуйста, не предлагайте изменять мой дизайн или что это может быть проблема XY , я знаю и в основном спрашиваю, потому что мне любопытно, как это реализовать в целом.