异常不要用来做流程控制、条件控制,因为异常的处理效率比条件分支低。
//正例 if(obj!=null){ ... } //反例 try{ obj.method() }catch(NullPointException e){ ... }- 对大段代码进行try/catch,这是不负责任的表现。请分清稳定代码和非稳定代码。
- 捕获代码是为了处理它,如果不想处理它,请把该异常抛给它的调用者。最外层的业务处理者,必须处理异常,并将其转化为用户可以理解的内容。
- 避免直接抛出new RuntimeException(),更不允许抛出Exception或者Throwable,应该用有业务含义的自定义异常。推荐业界已定义过的自定义异常,如:DAOException、ServiceException等。
- 避免出现重复的代码(Don’t Repeat Youself),即DRY原则。必要时抽取公共方法,或者抽象公共类,甚至是组件化。
alibabaJava开发手册之异常处理
最新推荐文章于 2025-09-09 02:31:37 发布
本文探讨了在软件开发中正确使用异常处理的方法,强调不应将异常用于流程或条件控制,介绍了如何区分稳定与非稳定代码,以及如何通过自定义异常来增强代码的可读性和维护性。
670

被折叠的 条评论
为什么被折叠?



