对于异常的处理一般有两种方式:
-
当前方法处理(try-catch),这种处理方式会造成业务代码和异常处理代码的耦合
-
当前方法不处理, 出现异常后直接抛给调用者处理
使用Spring框架后,我们的代码最终是由框架来调用的。也就是说,异常最终会抛到框架中,然后由框架指定异常处理器来统一处理异常。
方式一:配置方式
重点: 自定义一个类实现HandlerExceptionResolver接口
定义异常处理器的类
错误页面的编写
将这个异常类配置到Spring容器中
方式二:注解方式
使用一个注解实现上面的效果
@ControllerAdvice 要标注在类上,表示当前类是一个全局异常处理器的类
@ExceptionHandler 标注在方法上,表示当前方法可以处理哪些异常
注释掉上面的方式
自定义一个类和方法
添加一个包扫描