我正在编写EJB3应用程序,并对异常处理策略感到疑惑。 我将有一些已检查的应用程序异常和一些运行时应用程序异常。 我知道我可以在我的客户端捕获它们,但如果抛出另一个常规运行时异常会怎样?它将被包装在EJBException中,对吧?如果是这样,我应该抓住这个例外吗?或者,假设我只想以不同的方式处理运行时异常的子集(例如,能够显示比“业务服务调用失败”更详细的消息)。 什么是常规EJB应用程序的异常结构和处理策略,例如Struts 2客户端。
答案 0 :(得分:0)
如果你没有抓住这样的例外,那会发生什么?一些丑陋的Servlet异常会被发送回浏览器或其他一些我认为不友好的结果。
所以是抓住,显示令人放心的消息。如果默认情况下你正在使用的框架已经做到了,那就好了,否则你只需要自己编写代码。
我怀疑从UI / servlet角度区分问题的确切原因通常很有用,无论是NullPointer,ArrayIndex,OutOfMemory还是其他什么。这只是由EJB表示的“服务”失败,可能是因为编码或基础结构错误。用户可以做的不多,所以对我来说没有特殊的层次结构。