Spring Boot中的异常处理

方法1

在controller中直接添加处理异常的方法,方法中需要使用@ExceptionHandler注解,value=指定需要处理的异常,
返回值类型ModelAndView,在ModelAndView中定义异常发生后返回视图和信息

方法2

定义一个类。
在类上使用@ControllerAdvice注解,此时,所有controller的异常对该类进行通知
在类中定义方法,方法上需要使用@ExceptionHandler注解,value=指定需要处理的异常, 返回值类型ModelAndView,在ModelAndView中定义异常发生后返回视图和信息

方法3

定义一个类。
在类上使用@Configuration注解,此时,所有controller的异常对该类进行通知
在类中定义方法,并使用注解@Bean注解,方法返回值类型为SimpleMappingExceptionResolver,
在方法中创建SimpleMappingExceptionResolver和Properties对象,
在properties对象中,使用put方法,对相应的异常设置返回视图,SimpleMappingExceptionResolver使用setExceptionMappings将Properties传入
最终返回SimpleMappingExceptionResolver对象即可

方法4(重点需要掌握的)

定义一个类,实现HandlerExceptionResolver接口,重新resolveException方法,主要根据方法中的Exception e形参,进行判断是什么异常,根据相应的异常,通过ModelAndView对象,设置返回模型和视图

方法5

SpringBoot默认的已经提供了一套处理异常的机制,一旦程序中出现异常SpringBoot会向/error的url发送请求,在SpringBoot中提供了一个名为BasicErrorController来处理/error请求,然后跳转到默认显示异常的页面来展示异常信息
自定义错误页面:如果我们需要向所有的异常统一跳转到自定义的错误页面,需要在/src/main/resources/templates目录下创建error页面,注意:页面名称必须叫error(未配置情况下

你可能感兴趣的:(Spring Boot中的异常处理)