写一个springmvc全局捕获异常代码完整版
时间: 2023-03-31 22:00:40 浏览: 139
以下是一个 Spring MVC 全局捕获异常的代码示例:
```java
@ControllerAdvice
public class GlobalExceptionHandler {
@ExceptionHandler(Exception.class)
public ModelAndView handleException(Exception e) {
ModelAndView mav = new ModelAndView();
mav.addObject("exception", e);
mav.setViewName("error");
return mav;
}
}
```
这个代码使用了 `@ControllerAdvice` 注解来定义一个全局的异常处理器。当任何一个控制器抛出 `Exception` 类型的异常时,这个处理器就会被调用。在这个处理器中,我们将异常对象添加到 ModelAndView 中,并设置视图名称为 "error"。这个视图可以是一个 JSP 页面,用来显示异常信息。
需要注意的是,这个处理器只能处理控制器中抛出的异常,不能处理其他组件(如过滤器、拦截器等)抛出的异常。如果需要处理其他组件抛出的异常,可以使用 Spring Boot 提供的 `ErrorController` 接口来实现。
阅读全文