Java Web 应用程序中的异常处理
我正在开发一个中型Java Web应用程序,其中Struts作为MVC框架,在数据访问层使用简单的JDBC。我一直在搜索此类应用程序中的异常处理最佳实践。我发现了几篇文章,其中一些是矛盾的,只会让我更加困惑,而不是让事情变得清晰和简单。有人说重用现有的异常比定义特定于应用程序的异常更好,而另一些人则为系统中可能发生的每个小麻烦提供了应用程序特定异常的巨大层次结构。有人说最好不要在数据访问层处理异常并将其委托给服务层,另一些人说,数据访问层异常应该在本地捕获,因为将它们委派给服务层会违反两层之间的抽象。等等。
如果您让我知道文章/书籍的链接/名称,这些链接/名称提供了在这种情况下对您有用的可靠解决方案,我将不胜感激。解决方案应至少清除以下几点并说明理由:
- 从哪里捕获 SQLExceptions?
- 应在哪里记录异常?
- 是否应记录未选中的异常?
- 是否应在表示层捕获未经检查的异常,是否应向用户显示这些异常?
- 如何处理已检查的异常,向用户显示哪些异常以及如何显示?
- 应如何使用全局异常处理程序页?
- 在此上下文中应如何使用 struts ActionErrors?
谢谢