Я вижу, что Guice и Spring используют AOP Alliance под капотом для перехватов методов, и я пытался выяснить, как получить AOP Alliance для перехвата и обработки определенных исключений, поэтому мне не нужно писать один и тот же код снова и снова внутри каждого блока catch
.
Но после просмотра пьесы не похоже, что AOP Alliance предоставляет любой способ перехватить бросок Throwable
таким образом, что обработчик/перехватчик может делать некоторые вещи (регистрировать исключение и т.д.), а затем определить, следует ли распространять это исключение дальше или просто вернуться к следующей строке, следующей за строкой, которая выбрала исключение:
HerpDerp hd = null;
if(hd == null)
throw new RuntimeException("Herpyl derp!");
Manny.pacquiao();
Я ищу механизм обработки исключений AOP, который будет перехватывать RuntimeException
и использовать бизнес-логику, чтобы решить, продолжать ли распространять его или возвращаться к вызову Manny.pacquioa()
.
- Если это невозможно сделать на Java, сообщите мне
- Независимо от того, возможно ли это сделать на Java, есть ли способ перехватить исключение с AOP Alliance или мне нужно пойти куда-то еще. И если мне нужно пойти куда-нибудь еще, где? AspectJ?
Спасибо!