java 模拟试卷
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))
- 多重捕获的异常不能有继承关系
试卷习题(20 题)
参考答案在文末判断题
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
