第九章:异常带来处理错误
1、如果一个方法在声明的时候抛出一个异常,比如public void f() throws SimpleException,那么在调用的时候必须进行异常捕捉。
(chap9,P6)
2、打印错误信息是时候,System.err比System.out好,因为后者可能不重定向。
(chap9,P6)
3、自己创建的异常类可以有带参数的构造函数,也可以有其他的成员。
(chap9,P6)
4、Throwable类的printStackTrace方法返回“被调用的方法是经过怎样一个顺序到达异常发生地点”的信息。
(chap9,P7)
5、异常说明(即在方法后面跟上throws关键字和要抛出的异常的类名称)可以让程序员很明确的知道这个方法可能会抛出什么样的异常。
(chap9,P9)
6、异常NullPointerReference虚拟机会自动抛出,不必处处调用。
(chap9,P18)
7、无论是否抛出异常,finally块总是会被执行。
(chap9,P20)
8、异常运用原则:
①在合适的地方处理问题。(避免在自己还不知道该如何处理的情况下去捕捉异常)
②把问题解决掉,然后重新调用那个引起问题的方法
③修正一下问题,然后染过那个方法在继续下去
④用一些别的,不准备让这个方法返回的数字来进行计算
⑤把当前允许环境下能做的事情全部做完,然后把相同的异常抛到更高层
⑥把当前允许环境下能做的事情全部做完,然后把抛一个不同的异常到更高层
⑦中止程序
⑧简化(如果异常结构把事情搞得太复杂了,那用起来会非常痛苦也很烦人)
⑨把类库和程序做得更安全(这既是在为调试作短期投资,也是在为程序的健壮性作长期投资)