关于Exception和RuntimeException

今天在自定义异常的时候,被难住了,不知道该继承Exception还是RuntimeException(没办法,基础太差。。),然后就研究了一下,显示看了Exception和RuntimeException的源码,没发现啥。。。后来百度了一下,发现都说RuntimeException不需要处理,而其他的异常需要处理,半懂不懂。。后来自己写了两行代码,有点明白了。

方法a抛出了RuntimeException,方法b抛出了非RuntimeException,方法c里面编译报红了,说没有对非RuntimeException进行处理,明白了吧? 有时候我们的代码运行时会报空指针,但是我们在code的时候也没发现报红啊,因为这个是RunTimeException,不需要处理。

至于继承哪个,还是看具体使用了,不过一般是RuntimeException,因为不需要处理啊,写业务逻辑的时候,直接throw出来就可以了,调用者不需要去处理,由exceptionHandler 统一去处理就行了。

再说一下统一处理自定义异常这块吧。很简单,搞一个类,上面加上@RestControllerAdvice或者@ControllerAdvice,算了还是贴代码吧。。。

 

再说下 throw和throws的区别,throw表示明确的抛出一个异常,throws在方法上,表示这个方法有可能会出现某个异常,调用这个方法的人要注意了,到时候你得处理一下。

虽然网上一搜一大堆,但是自己写一遍加深记忆

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值