SpringBoot异常的设计的原理

Springboot异常处理

在springboot项目中,我们可以直接在类中通过局部方法处理异常,也可以继承BasicErrorController 来实现或通过@ControllerAdvice 注解做异常统一处理。在没有做处理时,springboot有默认的错误处理机制——显示默认的错误页面;默认的响应json数据(包含异常发生时间,异常状态,异常详细信息,发生异常的请求路径)。

SpringBoot异常的设计的原理

发生异常时,前端控制器调用全局异常处理器进行处理。

  1. springboot默认错误处理机制:
    源码中定制错误的响应规则,默认/error请求为错误请求;BasicErrorController,这个类是默认处理/error请求的,它包含errorHtml和error两个方法,前者返回ModelAndView,后者返回json数据;DefaultErrorViewResolver,指定浏览器响应的错误页面,发生异常时其中resolver方法会解析异常处理地址,得到与错误状态码对应的视图。
  2. 自定义异常处理:
    1)直接在Controller做处理。在Controller处理异常的方法上加上@ExceptionHandler(需要处理的那些异常类);
    2)通过@ControllerAdvice 注解来处理统一错误。自定义一个异常处理类加上@ControllerAdvice注解,通过@ExceptionHandler(指定异常类)触发不同的处理方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值