JavaSE Day09、10 异常
2021-02-11 本文已影响0人
望穿秋水小作坊
1. Java 中的异常都继承自哪个类?异常处理方式通常有两种,是哪两种?
java.lang.Throwable
-
try-catch 捕获异常
和throws 将异常往上抛
![](https://img.haomeiwen.com/i13946897/0cd9b0429eb0796a.png)
2. 如果一个异常需要打印出它的调用栈,如何打印?
e.printStackTrace();
3. 下面代码,本来打印是会调用 dog.toString()方法
,那么会报出空指针异常吗?
Dog dog = new Dog();
dog = NULL;
System.out.println(dog);
- 不会报错,因为
System.out.println
会先判断 dog 是否为空,不为空才会调用dog.toString()
![](https://img.haomeiwen.com/i13946897/38ee8317452200c3.png)
4. try-catch-finally
中的 try
中有 break、return、continue 时, finally
会不执行吗?finally
在什么情况下不执行?
![](https://img.haomeiwen.com/i13946897/2ecfe04c6429d24f.png)
5. throws 和 throw 的用法区别?
-
throws:
写在方法声明中,表示把方法体可能产生的异常往外抛,交给方法调用者处理 -
throw:
写在方法体中,表示程序员可以自己创建异常并且抛出
![](https://img.haomeiwen.com/i13946897/a416c46373732697.png)
6. 自定义异常(以后用到再看吧,知道即可)
![](https://img.haomeiwen.com/i13946897/5757c316760ca10d.png)
7. 检查型异常 和 非检查型异常的 异同
?(重要,各说两点)
![](https://img.haomeiwen.com/i13946897/4d7208857ed33113.png)
8. 使用异常机制的好处?(至少说两点)
![](https://img.haomeiwen.com/i13946897/d557cd0dddcaae83.png)