加入收藏 | 设为首页 | 会员中心 | 我要投稿 焦作站长网 (https://www.0391zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 编程要点 > 语言 > 正文

异常使用时的常见问题及注意事项

发布时间:2021-05-21 19:11:23 所属栏目:语言 来源:互联网
导读:1、当子类重写父类的带有 throws声明的函数时,其throws声明的异常必须在父类异常的可控范围内用于处理父类的throws方法的异常处理器,必须也适用于子类的这个带

        throw new RuntimeException("Exception in retieveObjectById”, e); 

    } 

估计大部分程序员都会有这种写法,为了省事简便,直接一个顶层的exception来捕获所有可能出现的异常,这样虽然可以保证异常肯定会被捕捉到,但是程序却无法针对不同的错误异常进行对应正确的处理,可以重构成:

public void retrieveObjectById(Long id) { 

    try { 

        //..some code that throws RuntimeException, IOException, SQLException 

    } catch (IOException e) { 

        //仅仅捕捉 IOException 

        throw new RuntimeException(/*指定这里 IOException 对应的错误代码*/code, "Exception in retieveObjectById”, e); 

    } catch (SQLException e) { 

        //仅仅捕捉 SQLException 

        throw new RuntimeException(/*指定这里 SQLException 对应的错误代码*/code, "Exception in retieveObjectById”, e); 

    } 

5、异常包含的信息不能充分定位问题

异常不仅要能够让开发人员知道哪里出了问题,更多时候开发人员还需要知道是什么原因导致的问题,我们知道 java .lang.Exception 有字符串类型参数的构造方法,这个字符串可以自定义成通俗易懂的提示信息。

简单的自定义信息开发人员只能知道哪里出现了异常,但是很多的情况下,开发人员更需要知道是什么参数导致了这样的异常。这个时候我们就需要将方法调用的参数信息追加到自定义信息中。下例只列举了一个参数的情况,多个参数的情况下,可以单独写一个工具类组织这样的字符串。

(编辑:焦作站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

推荐文章
    热点阅读