编程思维:Defensive Programming
我们写好程序,将其打包,然后用户就可以使用和运行,但是,外界的情况是未知的,我们的程序很可能因为某个因素的出现而崩溃,因此,对于我们可以预测到的一些可能的问题,我们使用了防御性编程[1](defensive programming) 的策略来避免问题。
参考资料:
[1] Wikipedia: Defensive Proramming
抽象逻辑:Throw Exception
防御性编程是思维层次的产物,具体到代码实现层次,我们就需要抛出异常(Defensive Programming当然也可以有其他的实现,抛出异常只是一种体现),对于可能出现的异常,Java已经列举了很多,我们可以直接使用它们来避开程序可能出现的问题。
编码实现:try catch catch……finally
、throws
和throw
这几种方式,都是抛出异常的语法,这里不介绍。
抛出异常让程序达成了什么成就?
答:当代码遇到对应的问题,会将其抛出去,然后继续执行程序,最终,返回exit code 0
,代表程序正常退出。
如果没有抛出异常,程序遇到问题就会终止,最终返回的exit code
肯定不是0,代表程序退出异常。
所以,返回代码是否为0
,也是我们测试程序的一个关注点。