首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java 5 Web应用程序中的异常处理指南

Java 5 Web应用程序中的异常处理指南
EN

Stack Overflow用户
提问于 2010-02-26 10:30:57
回答 1查看 665关注 0票数 1

我感到惊讶的是,在网络上找到这方面的最佳实践是多么困难,因为这肯定是一个很常见的问题。

App是基于Java1.5-JSF1.2的Faclet,Seam,JPA,Hibernate。一些Web服务调用。一些JMS。

我要的是关于异常处理的一般建议。有大约3种方法,我见过使用,但我从来没有确定哪一种更好。假设你无法从错误中恢复,你会: 1)在错误发生时记录错误并重新抛出它吗?

2)当它发生时记录它并抛出某种类型的泛型异常?

3)让它冒泡起来,然后在通用异常处理servlet或类似的情况下处理它。

我倾向于在以前的系统上使用选项2,其中的体系结构相当简单--适配器层与各种第三方系统对话,如果得到错误返回,则抛出适配器异常,等等。我们可以在屏幕上向用户显示一条干净的消息,并将细节保存在日志中。不过,这里的体系结构要复杂得多,我想知道它在实践中的效果如何。所以我很想知道你喜欢什么和为什么。

EN

回答 1

Stack Overflow用户

发布于 2010-02-26 10:34:56

假设你无法从错误中恢复.

假设此错误不是函数错误,我记录错误并将异常包装在(自定义)未检查的异常中,并让框架/容器处理它(所以选项2)。我喜欢按他的方式做,因为:

  • ,我喜欢使用容器管理的事务,我希望容器完成它的工作(即回滚任何事务),因此抛出运行时异常是可行的。
  • ,它最小化了异常处理工作。
  • --它使向用户报告的工作更容易以通用方式处理。

如果是功能性错误(即用例中的另一种流程),我记录错误并将异常包装在(自定义)选中的异常中,因为我希望调用方具体地处理它,因为问题是用例的一部分。

在这两种情况下,我对每个层次都使用根异常,即TechnicalExceptionFunctionalException

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2340899

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档