我有一个无状态会话 bean,它的方法会引发异常(从 Exception 扩展)。
@Stateless
@LocalBean
public class MyBean {
...
public void myMethod() throws MyException {
...
}
}
但我无法捕捉到异常。
try {
myBean.myMethod
} catch (MyException e) {
...
}
这是堆栈:
WARNING: StandardWrapperValve[MyServlet]: PWC1406: Servlet.service() for servlet MyServlet threw exception
java.lang.IllegalAccessError: example/MyException
at $Proxy327.myMethod(Unknown Source)
at example.EJB31_Generated_MyBean_Intf_Bean_.myMethod(Unknown Source)
at example.MyServlet.processRequest(MyServlet.java:36)
at example.MyServlet.doGet(MyServlet.java:71)
...
我认为,这是因为调用 bean 方法是通过代理。我怎样才能捕捉到异常?或者应该避免在会话 bean 中抛出异常的方法?- 我希望不是。