spring mvc统一异常处理
时间: 2023-10-05 20:04:45 浏览: 46
在 Spring MVC 中,可以通过统一异常处理来集中处理应用程序中的异常。这样可以提高代码的可维护性和可扩展性。下面是一种常用的方式,可以在项目中实现统一异常处理:
1. 创建一个全局异常处理器类,例如 `GlobalExceptionHandler`。
```java
@ControllerAdvice
public class GlobalExceptionHandler {
@ExceptionHandler(Exception.class)
public ModelAndView handleException(Exception ex) {
ModelAndView modelAndView = new ModelAndView();
modelAndView.addObject("error", "An error occurred");
modelAndView.addObject("message", ex.getMessage());
modelAndView.setViewName("error"); // 设置自定义的错误页面
return modelAndView;
}
// 可以添加其他异常处理方法
}
```
2. 将该类标注为 `@ControllerAdvice`,这样它就会成为全局的异常处理器。
3. 在 `handleException` 方法中,使用 `@ExceptionHandler` 注解来指定需要处理的异常类型,这里我们使用 `Exception.class` 来处理所有的异常。
4. 在 `handleException` 方法中,可以根据自己的需求进行异常处理,例如将错误信息添加到 ModelAndView 中,然后返回自定义的错误页面。
5. 可以根据需要添加其他异常处理方法,例如处理特定的异常类型。
这样,在应用程序中,只要抛出了异常,在没有被捕获的情况下,就会被统一异常处理器捕获并进行处理。