完整代码地址
从3个方面确保代码完整性
1.功能测试
合法的输入
2.边界测试
例如:
最大正数,最大负数,0等
循环或递归的边界条件
3.负面测试
非法的输入
3种错误处理方式
1.函数用返回值来告知调用者是否出错
这种方式最大的问题是使用不便,因为函数不能直接把计算结果通过返回值赋值给其他变量,同时也不能把这个函数计算的结果直接作为参数传递给其他函数。(不知道为什么这么说?有朋友解释一下吗?)
2.当错误发生时设置 一个全局变量
这种方法比第一种方法使用起来更加方便,因为调用者可以直接把返回值复制给其他变量或者作为参数传递给其他函数。但是这个方法有一个问题:调用者很容易忘记检查全局变量,因此在调用出错的时候忘记进行相应的错误处理,从而留下安全隐患。
3.异常
我们可以根据不同的出错原因定义不同的异常类型。因此,函数的调用者根据异常的类型就能知道出错的原因,从而做出相应的处理。在抛出异常的时候,程序的执行会打乱正常的顺序,对程序的性能有很大的影响。