【异常处理】Spring项目异常如何做异常处理

类似SpringMVC项目的异常处理可以这样做:

整个项目创建全局的:

  1、一个自定义异常如OneException和错误码,统一封装所有异常。

  2、一个返回实体类ResponseEntity,包含返回码code和数据体data,作为所有Controller的返回实体。  

  3、一个ResponseUtil来统一处理请求的返回数据即ResponseEntity(包括成功、异常)。

  4、定义一个切面(@ControllerAdvice)ExceptionHandler来调用ResponseUtil统一处理Controller对异常情况的返回。

然后底层捕获的异常在打印日志的同时,统一throw一个 new OneException,填上自定义错误信息,由DAO->Service->Controller逐层向上抛,最后从Controller的签名中抛出,传到前台。

 异常处理的几种方式:https://www.cnblogs.com/junzi2099/p/7840294.html

另外,Exception分为checked和unchecked两类。checked就是我们经常遇到的I/O相关的,unchecked如由Runtime Exception的派生的。

前者,调用者必须捕获处理。后者则不需要。

Spring和Hibernate等框架喜欢使用后者。可以这么做

https://www.iteye.com/blog/412887952-qq-com-2291524  

https://blog.csdn.net/guohao_1/article/details/89951143

https://explainjava.com/java-exceptions/

https://segmentfault.com/q/1010000006653269

https://blog.csdn.net/wang_666_/article/details/80568195

https://4876391520.iteye.com/blog/2300772

原文地址:https://www.cnblogs.com/tigerhsu/p/10394005.html