1、只针对异常的情况才使用异常
某一天,如果你不走运的话,可能会碰到这样的代码:
// Horrible abuse of exceptions. Don't ever do this!
try {
int i = 0;
while(true)
range[i++].climb();
}catch(ArrayIndexOutOfBoundsExceptione){
}
设计良好的api不应该强迫它的客户端为了正常的控制流而使用异常。
2、对可恢复的情况使用受检异常。对编程错误使用运行时异常
3、避免不必要地使用受检的异常
4、优先使用标准的异常
5、抛出与抽象相对应的异常
6、每个方法抛出的异常都要有文档
7、在细节消息中包含能捕获失败的信息
8、努力使失败保持原子性
9、不要忽略异常