0
21
36
14
为了账号安全,请及时绑定邮箱和手机立即绑定

关于Java异常捕获的问题

关于Java异常捕获的问题

皈依舞 2019-03-20 18:15:52
如果捕获异常没有专门的处理,只是为了记录日志,那么异常究竟是这样public void xxx() {    try {        ...        ...        ...    } catch() {        ...    }}捕获好还是这样public void xxx() {    try {        ...    } catch() {        ...    }    try {        ...    } catch() {        ...    }    try {        ...    } catch() {        ...    }}捕获好,另外,是每一种异常单独捕获public void xxx() {    try {        ...        ...        ...    } catch(aaException e) {        ...    } catch(bbException e) {        ...    } catch(Exception e) {        ...    }}好,还是全部都用Exception捕获public void xxx() {    try {        ...        ...        ...    } catch(Exception e) {        ...    }}好?

6 回答

?
慕婉清6462132

TA贡献1804条经验 获得超2个赞

比较优雅的方式是通过Aop去处理,这样就不用在业务代码里写重复的try,catch


查看完整回答
反对 回复 2019-04-24
?
胡说叔叔

TA贡献1804条经验 获得超8个赞

用Exception好


查看完整回答
反对 回复 2019-04-24
?
守着一只汪

TA贡献1872条经验 获得超3个赞

只是为了记日志,最后一种就能够说明问题所在了。


查看完整回答
反对 回复 2019-04-24
?
holdtom

TA贡献1805条经验 获得超10个赞

记录日志就没必要细分了,打印堆栈信息一目了然


查看完整回答
反对 回复 2019-04-24
?
慕妹3146593

TA贡献1820条经验 获得超9个赞

这得根据场景来决定:第三种情况,不同异常分开捕捉,是为了细粒度地处理捕获到的异常,比如捕捉到了缓存异常,进行db切换,捕捉到了IO异常,进行补救等;第四种是包一个Exception,总的处理一次,但是会丢失一些具体的信息
我的理解,分这么多异常类型可以认为是switch-case的一种延伸

查看完整回答
反对 回复 2019-04-24
?
侃侃无极

TA贡献2051条经验 获得超10个赞

这个要看情况的,如果自己不需要对异常进行处理,那就直接低层补货exception就可以,如果需要处理就catch补货一下处理。例如异常自己定义提示信息。


查看完整回答
反对 回复 2019-04-24

添加回答

代码语言

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号