Closed. This question needs to be more focused。它当前不接受答案。












想改善这个问题吗?更新问题,使其仅关注editing this post一个问题。

6年前关闭。



Improve this question




最近几个月,我一直在Spring + Hibernate中开发一个Web应用程序。
我一直严重缺少的是异常处理。

我想知道处理异常的最佳方法和实践吗?
我心中有一些问题无法涵盖异常处理的所有方面,例如:

1.是否要使检查异常或未检查异常?如何决定?

2.如何处理控制器中产生的异常以及如何处理。

3在服务层和DAO层中生成的异常怎么办?应该在该层处理还是应该在
转移到控制器层?

4.既然可能有很多例外,我该如何准备应对将来可能出现的例外?

5.如何显示相关消息到UI或浏览器?

请提出建议或提供指向好的博客的链接?

最佳答案

  • 如果有合理的期望,客户可以处理异常并从异常中恢复,请使用Checked Exceptions,否则请使用Unchecked(您通常会使用unchecked)。
  • 在方法上使用@ExceptionHandler批注来处理从@RequestMapping方法生成的异常。
  • 将它们编码到控制器,以便它可以决定最佳响应,除非该服务方法实际上可以从异常中恢复并正常进行处理。
  • 创建自定义异常,并用throw代替(您可以将实际异常作为原因,即throw)
  • 您的throw new MyCustomException("my message", e)方法可以决定返回给用户的视图,或者您可以在@ExceptionHandler
  • 中配置自定义错误页面

    08-03 23:47