阿里巴巴开发手册四
一、异常处理 1、【强制】Java 类库中定义的一类 RuntimeException 可以通过预先检查进行规避,而不应该 通过catch 来处理,比如:IndexOutOfBoundsException,NullPointerException等等。 2、【强制】异常不要用来做流程控制,条件控制,因为异常的处理效率比条件分支低。 3、【强制】对大段代码进行 try-catch,这是不负责任的表现。catch 时请分清稳定代码和非稳 定代码,稳定代码指的是无论如何不会出错的代码。对于非稳定代码的catch尽可能进行区分 异常类型,再做对应的异常处理。 4、【强制】捕获异常是为了处理它,不要捕获了却什么都不处理而抛弃之,如果不想处理它,请 将该异常抛给它的调用者。最外层的业务使用者,必须处理异常,将其转化为用户可以理解的 内容。 5、【强制】有 try 块放到了事务代码中,catch 异常后,如果需要回滚事务,一定要注意手动回 滚事务。 6、【强制】finally 块必须对资源对象、流对象进行关闭,有异常也要做 try-catch。 7、【强制】不能在 finally 块中使用 return,finally 块中的 return 返回后方法结束执行,不 会再执行 try 块中的 return 语句。 8、【强制】捕获异常与抛异常,必须是完全匹配,或者捕获异常是抛异常的父类。 ?>