关于异常的一些资料(均为网上转载自行整理

throw exception和 try catch的区别

  • throw exception直接终止方法,或者退出循环。

  • try catch还要继续处理方法余下的逻辑,或者不结束循环。

  • try catch 不中断,throw exception中断。

  • try{}catch(){}他的处理模式是当try中出现异常时,就直接跳转到catch中进行处理,而不是向客户端直接报错。

  • 而在catch中:

  • 我们可以进行异常类型转型等一些操作,再throw出去,让他的调用者处理。他可以抛出一个编译时异常,也可以抛出一个运行时异常。此时程序终止。

  • 也可以在catch中对异常进行处理,处理完后在继续运行以后的代码,而不是直接终止。

对于异常有两种处理方法

  • 要么声明异常,也就是在方法名后面加上throws exceptionname,…,方法本身只是抛出异常,由函数调用者来捕获异常。若产生异常,异常会沿着调用栈下移,一直找到与之匹配的处理方法,若到达调用栈底仍未找到,程序终止。

  • 要么捕获异常。通过try catch方法,catch子句中放置处理异常的语句。

全局异常处理类的一些知识点

  • @ControllerAdvice 注解是 Spring Boot 用于捕获 @Controller层系统抛出的异常(如果已经编写了 try-catch 且在 catch 模块中没有使用 throw 抛出异常, 则@ControllerAdvice 捕获不到异常)。
  • 进入Controller层的错误才会由@ControllerAdvice处理,拦截器抛出的错误以及访问错误地址的情况@ControllerAdvice处理不了,由SpringBoot默认的异常处理机制处理。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值