1. Java 中的异常都继承自哪个类?异常处理方式通常有两种,是哪两种?
java.lang.Throwable
-
try-catch 捕获异常
和 throws 将异常往上抛
image.png
2. 如果一个异常需要打印出它的调用栈,如何打印?
3. 下面代码,本来打印是会调用 dog.toString()方法
,那么会报出空指针异常吗?
Dog dog = new Dog();
dog = NULL;
System.out.println(dog);
- 不会报错,因为
System.out.println
会先判断 dog 是否为空,不为空才会调用 dog.toString()
image.png
4. try-catch-finally
中的 try
中有 break、return、continue 时, finally
会不执行吗?finally
在什么情况下不执行?
image.png
5. throws 和 throw 的用法区别?
-
throws:
写在方法声明中,表示把方法体可能产生的异常往外抛,交给方法调用者处理
-
throw:
写在方法体中,表示程序员可以自己创建异常并且抛出
image.png
6. 自定义异常(以后用到再看吧,知道即可)
image.png
7. 检查型异常 和 非检查型异常的 异同
?(重要,各说两点)
image.png
8. 使用异常机制的好处?(至少说两点)
image.png
网友评论