2016 - 2024

感恩一路有你

java为什么要抛出异常 java异常从业务层集中抛出,是不是每个控制层方法都要trycatch?

浏览量:2996 时间:2021-04-13 10:46:21 作者:admin

java异常从业务层集中抛出,是不是每个控制层方法都要trycatch?

控制层中发生的异常有两种情况:

一种是意料之内的,可预估的。这种异常需要捕获异常后做出“尝试修复”,例如在查询用户信息rpc的过程中发生异常,包括什么500啊,404啊,这些对于客户端来说基本不用重试,可以通过清晰的错误码告知,相反,超时等情况则可以通知客户端稍后重试,通过不同的错误码引导客户端进行不同的操作。

另一种情况则是控制层本身就没考虑到的情况。这种情况盲目的try/catch没多大意义,通常会在框架层面做统一处理,包括记录异常信息,以及优雅的返回失败。

最后,对于try/catch的使用,我们不是并不是为了看不见异常,更多的是考虑我捕获后能做什么,能否尝试解决这个问题,如果不行,抛给上层,能否记录并告警,如果没考虑清楚这个问题,很容易犯一个大忌(吞掉异常)。

java为什么要抛出异常 java手动抛出异常 java抛出自定义异常

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。