以测试取代异常(Replace Exception with Test)
面对一个调用者可以预先检查的条件,你抛出了一个异常;修改调用者,使它在调用函数之前先做检查
一、动机
异常只应该被用于异常的,罕见的行为,也就是那些产生意料之外错误的行为,而不应该成为条件检查的替代品
二、做法
1、在函数调用点之前,放置一个测试语句,将函数内catch区段中的代码复制到测试句的适当的if分支中
2、在catch区段起始处加入一个断言,确保catch区段绝对不会被执行
3、编译,测试
4、移除所有的catch区段,然后将try区段内的代码复制到try之外,然后移除try区段
5、编译,测试
6、处理概括关系