1.异常处理不能替代简单的测试:
例如:空栈的退栈操作
if(!s.empty()) s.pop();
和
try{
s.pop();
}catch(EmptyStackException e){
}
2.不要过分地细化异常:
3.利用异常层次结构:
将一种异常转换成另一种更加适合的异常时不要犹豫
4.不要压制异常:
5.在检测错误时,“苛刻”要比放任更好:
6.不要羞于传递异常:
5,6可以归纳为“早抛出,晚捕获”
例如:空栈的退栈操作
if(!s.empty()) s.pop();
和
try{
s.pop();
}catch(EmptyStackException e){
}
将一种异常转换成另一种更加适合的异常时不要犹豫
5,6可以归纳为“早抛出,晚捕获”