二、异常日志 (一) 异常处理
(一)异常处理【强制】Java类库中定义的可以通过预检查方式规避的RuntimeException异常不应该通过catch的方式来处理,比如:NullPointerException,IndexOutOfBoundsException等等。 说明:无法通过预检查的异常除外,比如,在解析字符串形式的数字时,不得不通过catchNumberFormatException来实现。 正
(一) 异常处理
【强制】Java 类库中定义的可以通过预检查方式规避的RuntimeException异常不应该通过catch 的方式来处理,比如:NullPointerException,IndexOutOfBoundsException等等。 说明:无法通过预检查的异常除外,比如,在解析字符串形式的数字时,不得不通过catch NumberFormatException来实现。
正例:if (obj != null) {...}反例:
try { obj.method() } catch (NullPointerException e) {…}【强制】异常不要用来做流程控制,条件控制。
说明:异常设计的初衷是解决程序运行中的各种意外情况,且异常的处理效率比条件判断方式要低很多。【强制】catch时请分清稳定代码和非稳定代码,稳定代码指的是无论如何不会出错的代码。对于非稳定代码的catch尽可能进行区分异常类型,再做对应的异常处理。
说明:对大段代码进行try-catch,使程序无法根据不同的异常做出正确的应激反应,也不利于定位问题,这是一种不负责任的表现。
正例:用户注册的场景中,如果用户输入非法字符,或用户名称已存在,或用户输入密码过于简单,在程序上作出分门别类的判断,并提示给用户。【强制】捕获异常是为了处理它,不要捕获了却什么都不处理而抛弃之,如果不想处理它,请将该异常抛给它的
原创不易,完成人机校验,阅读全文
相关推荐
P3C规范二、异常日志 (二) 日志规约若依(RUOYI)【已解决】若依前端报错:Node: opensslErrorStack: [ ‘error:03000086:digital envelope routines::initialization error‘ ]异常处理P3C规范二、异常日志 (三) 其它经验分享sun.net.www.protocol.http.HttpURLConnection cannot be cast to javax.net.ssl.HttpsURLConnection 异常的处理工作小总结【已解决】ssm 项目打印sql日志的的坑【修改mybatis日志打印】学习笔录-SPRING BOOTspringboot支付项目之日志配置ROCKETMQrocketmq 连接异常 senddefaultimpl call timeout面试宝典Java面试集锦(一)之Java异常