Java异常处理实践

2018-05-12

一、基本认知

1. 何为异常

2. 异常编写原则

开发者每编写一个异常,脑中需要自动浮现以下三个问题:

二、异常处理规约

1. Use exceptions only for exceptional conditions.

仅在异常场景中使用异常,勿将异常用于程序流程控制。

// Horrible abuse of exceptions. Don't ever do this!
try {
     int i = 0;
     while(true)
         range[i++].climb();
} catch(ArrayIndexOutOfBoundsException e) {
    // ...
}

2. 仅捕获有必要的代码段,尽量不要一个大的try包住整段的代码。

3. 不要忽略或延迟处理异常,必须就地以合理的方式解决之。

4. 尽量不要捕获类似Exception这样的通用异常,而是应该捕获特定异常。

5. Prefer unchecked exceptions for all programmatic errors.

6. 自定义异常在保证诊断信息足够的同时,还需考虑其他问题。

7. 对于分布式系统,要把异常处理当作正常功能来看待和处理。

相关资料