【发布时间】:2012-06-12 11:01:06
【问题描述】:
我看到 Guice 和 Spring 在后台使用 AOP Alliance 进行方法拦截,我一直在试图弄清楚如何让 AOP Alliance 拦截和处理某些异常,所以我不必继续写相同的东西在每个 catch 块中一遍又一遍地编写代码。
但是看完剧本后,好像AOP联盟并没有提供任何方法来拦截抛出的Throwables,使得处理程序/拦截器可以做一些事情(记录异常等)然后确定是否进一步传播异常或只是恢复到引发异常的行之后的下一行:
HerpDerp hd = null;
if(hd == null)
throw new RuntimeException("Herpyl derp!");
Manny.pacquiao();
我正在寻找一种 AOP 异常处理机制,它会拦截 RuntimeException 并使用业务逻辑来决定是继续传播它还是在 Manny.pacquioa() 调用时恢复它。
- 如果在 Java 中无法做到这一点,请告诉我
- 无论是否可以在 Java 中执行此操作,有没有办法通过 AOP 联盟拦截抛出的异常,或者我必须去其他地方。如果我必须去别的地方,在哪里?方面J?
谢谢!
【问题讨论】:
标签: java exception-handling aop