springboot怎么捕获全局异常

   2025-02-13 8410
核心提示:在Spring Boot中,可以通过实现ErrorController接口或者使用@ControllerAdvice注解来捕获全局异常。方法一:实现ErrorController

在Spring Boot中,可以通过实现ErrorController接口或者使用@ControllerAdvice注解来捕获全局异常。

方法一:实现ErrorController接口

创建一个自定义的异常处理类,实现ErrorController接口,并重写getErrorPath方法和处理异常的方法。
import org.springframework.boot.web.servlet.error.ErrorController;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;@Controllerpublic class CustomErrorController implements ErrorController {    @Override    public String getErrorPath() {        return "/error"; // 定义错误页面的路径    }    @RequestMapping("/error")    public String handleError() {        // 处理异常的逻辑        return "error"; // 返回错误页面    }}
application.propertiesapplication.yml配置文件中设置错误页面的路径。

方法二:使用@ControllerAdvice注解

创建一个全局异常处理类,使用@ControllerAdvice注解标记,并使用@ExceptionHandler注解定义处理异常的方法。
import org.springframework.web.bind.annotation.ControllerAdvice;import org.springframework.web.bind.annotation.ExceptionHandler;import org.springframework.web.servlet.ModelAndView;@ControllerAdvicepublic class GlobalExceptionHandler {    @ExceptionHandler(Exception.class)    public ModelAndView handleException(Exception e) {        // 处理异常的逻辑        ModelAndView mav = new ModelAndView();        mav.addObject("errorMsg", e.getMessage());        mav.setViewName("error"); // 返回错误页面        return mav;    }}
application.propertiesapplication.yml配置文件中设置错误页面的路径。

以上两种方法都可以捕获全局异常,并返回自定义的错误页面或错误信息。

 
 
更多>同类维修知识
推荐图文
推荐维修知识
点击排行
网站首页  |  关于我们  |  联系方式  |  用户协议  |  隐私政策  |  网站留言