美文网首页
springmvc异常处理

springmvc异常处理

作者: 墨线宝 | 来源:发表于2021-03-08 10:33 被阅读0次

原文链接http://zhhll.icu/2021/%E6%A1%86%E6%9E%B6/springmvc/springmvc%E5%BC%82%E5%B8%B8%E5%A4%84%E7%90%86/

springmvc异常处理

springmvc通过HandlerExceptionResolver来处理程序的异常

一般情况下使用@ExceptionHandler注解来进行标注异常处理

ExceptionHandlerExceptionResolver异常处理

  • 如果出现异常,先是查找该Controller中用@ExceptionHandler注解定义的方法
  • 如果没有找到@ExceptionHandler注解的话,就会寻找标记了@ControllerAdvice注解的类中的@ExceptionHandler注解方法

局部异常处理

在当前Controller中处理异常(当前Controller中使用@ExceptionHandler标注的方法)

@Controller
@RequestMapping("/exception")
public class ExceptionController {

  /**
  * 在@Controller中所写的@ExceptionHandler方法只能处理该Controller类中出现的异常,不可以处理其他Controller中出现的异常,此为局部异常处理
  */
    @ExceptionHandler
    @ResponseBody
    public String exception(Exception e){
        return "出现异常"+e.getMessage();
    }

    @RequestMapping("/testException")
    @ResponseBody
    public String testException(){
        User user = null;
        System.out.println(user.getId());
        return "success";
    }
}

全局异常处理

如果当前Controller中没有异常处理,则会使用全局异常(使用@ControllerAdvice标注的类中的@ExceptionHandler方法)

@ControllerAdvice
public class GlobalExceptionHandler {

    @ExceptionHandler
    @ResponseBody
    public String exception(Exception e){
        return "全局捕获: 出现异常"+e.getMessage();
    }
}

ResponseStatusExceptionResolver异常处理

该异常处理机制是来解析@ResponseStatus来标注的异常

自定义异常

// code指定的是状态码,reason指定的是错误信息
@ResponseStatus(code = HttpStatus.BAD_REQUEST,reason = "出现业务异常")
public class BusinessException extends RuntimeException{

}
@RequestMapping("/testBusinessException")
@ResponseBody
public String testBusinessException(){
    throw new BusinessException();
}

调用该接口就会返回到状态码为400的错误页面

由于本身的博客百度没有收录,博客地址http://zhhll.icu

相关文章

  • 11|第十一课:异常处理

    一、异常处理 springMVC实现异常处理,必须实现HandlerExceptionResolver接口。 该接...

  • Spring Mvc 异常处理

    SpringMvc 异常全局解读 异常处理思路 首先来看一下在springmvc中,异常处理的思路 如上图所示,系...

  • springMVC异常处理

    Controller代码: ExceptionHandler代码: @ControllerAdvice+@Exce...

  • SpringMVC异常处理

    1. 自定义异常类 2. 自定义异常处理器 implements HandlerExceptionResolver...

  • SpringMVC异常处理

    系统的 dao、service、controller 出现都通过 throws Exception 向上抛出,最后...

  • SpringMVC异常处理

    Spring MVC处理异常有3种方式: (1)使用Spring MVC提供的简单异常处理器SimpleMappi...

  • springMVC异常处理

    异常的处理 自定义异常 自定义的异常处理类 当controller中出现异常时,使用自定义异常进行捕获

  • SpringMVC处理异常

  • springmvc异常处理

    原文链接http://zhhll.icu/2021/%E6%A1%86%E6%9E%B6/springmvc/sp...

  • SpringMVC异常处理机制

    SpringMVC异常处理机制 1.1 异常处理的思路 系统中异常包括两类:预期异常和运行时异常RuntimeEx...

网友评论

      本文标题:springmvc异常处理

      本文链接:https://www.haomeiwen.com/subject/rqkpqltx.html