在web项目开发中,不管是mapper层、service层还是controller层,都有可能发生异常。如果每个异常都单独处理,系统的代码耦合性高,工作量大,维护困难。SpringMVC能将所有类型的异常处理,从各层的各种处理过程中解耦出来,进行统一处理,既保证了相关处理过程的功能较单一,也实现了异常信息的统一处理和维护。 SpringMVC 框架中异常处理流程如下图所示。从图中可以看出, mapper/dao、service、controller各层出现的异常都通过throws Exception向上抛出,最后由SpringMVC前端控制器交由全局异常处理器(一个系统只有一个异常处理器)进行统一异常处理进行异常处理,所以,系统中的异常是由 SpringMVC 框架来统一处理异常的。 实现全局统一异常处理时,主要使用两个注解: @RestControllerAdvice:定义一个类为异常类 @ExceptionHandler:指定处理特定异常的方法 具体实现思路: ⚫ 自定义一个异常类,捕获针对项目或业务的某个异常 ⚫ 使用@ExceptionHandler注解处理自定义异常和通用异常 ⚫ 使用@RestControllerAdvice接收所有的控制层方法抛出的异常
标签:自定义,service,处理,SpringMVC,异常,统一 From: https://www.cnblogs.com/qiqi-yi/p/17280450.html