ejb3客户端是否应该显式捕获EJBException?

ejb3客户端是否应该显式捕获EJBException?,exception,exception-handling,jakarta-ee,ejb-3.0,Exception,Exception Handling,Jakarta Ee,Ejb 3.0,我正在编写EJB3应用程序,想知道异常处理策略。 我将有一些已检查的应用程序异常和一些运行时应用程序异常。 我知道我可以在我的客户机中捕获它们,但是如果抛出另一个常规运行时异常呢?它将被包装在EJBException中,对吗?如果是,我是否应该捕获此异常?或者,假设我只希望以不同的方式处理运行时异常的子集(例如,能够显示比“业务服务调用失败”更详细的消息)。 对于常规EJB应用程序和Struts 2客户端,您的异常结构和处理策略是什么。如果您没有捕获到此类异常,那么会发生什么?一些丑陋的Serv

我正在编写EJB3应用程序,想知道异常处理策略。 我将有一些已检查的应用程序异常和一些运行时应用程序异常。 我知道我可以在我的客户机中捕获它们,但是如果抛出另一个常规运行时异常呢?它将被包装在EJBException中,对吗?如果是,我是否应该捕获此异常?或者,假设我只希望以不同的方式处理运行时异常的子集(例如,能够显示比“业务服务调用失败”更详细的消息)。
对于常规EJB应用程序和Struts 2客户端,您的异常结构和处理策略是什么。

如果您没有捕获到此类异常,那么会发生什么?一些丑陋的Servlet异常被发送回浏览器或其他类似的不友好结果

所以,是的,捕捉,显示令人安心的信息。如果默认情况下,您正在使用的框架已经做到了这一点,那么很好,否则您只需要自己编写代码

我怀疑从UI/servlet的角度来区分问题的确切原因是否有用,不管是NullPointer、ArrayIndex、OutOfMemory还是其他什么。只是EJB表示的“服务”失败了,可能是因为编码或基础结构错误。用户对此无能为力,因此对我来说没有特殊的层次结构