JAVA异常处理专题测试
考察知识点
本试卷涵盖以下核心知识点:
异常的概念与分类(4题)
- 异常的定义(运行时不正常事件)
- 异常体系结构(Throwable、Error、Exception)
- Error与Exception的区别
- 检查异常与非检查异常的区别
try-catch-finally语句(6题)
- try-catch基本语法与作用
- catch块匹配顺序(子类在前父类在后)
- finally块的执行时机
- finally与return的关系
- finally唯一不执行的情况(System.exit())
- 多个catch块的排列规则
throws关键字(2题)
- throws声明异常的作用
- throws声明多个异常
- throws与检查异常的处理
throw关键字(2题)
- throw与throws的区别
- throw抛出异常后流程中断
- throw抛出检查异常需要声明或捕获
自定义异常(3题)
- 自定义异常继承选择(Exception或RuntimeException)
- 自定义异常构造方法设计
- 自定义异常命名规范(Exception后缀)
异常链与多重捕获(3题)
- 异常链概念与cause设置
- getCause()获取原始异常
- Java 7多重捕获语法(catch(A | B e))
- 多重捕获的异常不能有继承关系
💡 参考答案在文末
判断题
1
多重捕获catch(A | B e)中,A和B不能有继承关系。
单选题
2
throws可以声明多个异常吗?
3
以下代码会编译成功吗?
Java
public void readFile() throws IOException {
FileReader fr = new FileReader("test.txt");
}
4
以下哪个是检查异常?
5
Java中异常是指什么?
6
多个catch块的排列顺序应该遵循什么原则?
7
finally块什么时候执行?
8
try块中有return语句,finally块还会执行吗?
9
什么情况下finally块不会执行?
10
Error和Exception的主要区别是什么?
11
以下代码会发生什么?
Java
try {
throw new NullPointerException();
} catch (Exception e) {
System.out.println("Exception");
} catch (NullPointerException e) {
System.out.println("NullPointerException");
}
12
try-catch语句的作用是什么?
13
throw和throws的区别是什么?
14
以下代码的输出结果是什么?
Java
public void test() {
throw new RuntimeException("Error");
System.out.println("After throw");
}
15
自定义非检查异常应该继承哪个类?
16
自定义异常类通常需要提供哪些构造方法?
17
如何为异常设置原始异常(cause)?
18
Java异常体系的根类是什么?
多选题
19
Java 7引入的异常处理新特性有哪些?
填空题
20
NullPointerException属于____________(非检查异常),编译器不强制要求处理。
参考答案
1.正确
2.B
3.A
4.C
5.B
6.B
7.C
8.B
9.C
10.B
11.C
12.B
13.B
14.B
15.B
16.B
17.B
18.C
19.A; B
20.RuntimeException
想在手机上练习这套试卷?
使用微信卷王开发者小程序,打开首页顶部扫码功能识别二维码