2024年3月28日发(作者:)

第7章 包与异常处理

习题参考答案:

一、判断题

1.在编程中,可以不用进行异常的处理,因为有时发生的异常并不会影响程序的正常

运行 _____×__。

2.异常处理一般可用try ……catch语句进行处理的 ____√___。

3.try ……catch语句不能进行嵌套使用 _×______。

4.如果觉得系统给出的异常类不够使用,也可能定义自己的异常类,自己定义的异常类

一般继承Exception类(或其子类) ___√____。

5.try……catch……finally语句中,三个关键字必须同时使用,才能达到异常处理的效

果 _____×__。

6.使用import 导入一包时,可以将这个包的子包也一并导入 __×_____。

二、选择题

1.异常是指___D____。

A.程序中的语法错误

B.程序的编译错误

C.程序执行过程中遇到的事先没有预料到的情况

D.程序执行过程中遇到的事先没有预料到的情况,或程序事先定义好的可能出现的

意外情况

2.如果一个程序中有多个catch语句,程序会__C_____。

A.每个catch都会执行一次

B.把每个符合条件的catch语句都执行一次

C.找到适合的异常类型后就不再执行其它catch语句

D.找到适合的异常类型后还要执行其它catch语句

3.下列关于finally说法正确的是__C_____。

A.finally语句应该放在所有catch语句的前面

B.finally语句应该放在所有catch语句的后面

C.无论程序是否找到合适的catch匹配,都会去执行finally

D.如果程序在前面找到了多个适合的catch匹配,就不再执行finally语句了

4.在一个方法内抛出异常时,应该使用下列哪个子句____A___。

A. throw

B. catch

C. finally

D. throws

5.下列描述中,错误的一个是____B___。

A. 异常抛出点后的代码在抛出异常后不再执行

1

B. 一个try代码段后只能跟有一个catch代码段

C. try 一般要和catch联合使用

D. 在编写程序过程中,要考虑对异常的处理

6.一个catch语句段一定要和下列哪一项配合使用__A_____。

A. try语句段

B. finally语句段

C. throw

D. throws

三、填空题(答案已在书中给出)

1.Throwable类派生出 Error 和 Exception 两个分支。

2.创建包和导入包的关键字分别是 package 和 import 。

3.Java异常处理的5个关键字是try 、 catch、 finally 、 throw 、 throws 。

4.自定义的异常类必须为 Exception 的子类。

5.一个try代码段后面必须跟着若干个 catch 代码段或者一个 finally 代码段。

6.当在一个方法的代码中抛出一个检测异常时,该异常或被方法中的 try—catch结构

捕获,或者在方法的throws 中声明。

7.当异常已经被定义时,必须通过try catch finally 语句来处理它。

8.Throw的作用是 抛出异常。

9.Throws的作用是 声明方法可能抛出的异常类型。

四、简答题(答案要点):

(1)Java中包的含义是什么?怎样定义一个包和引入一个包?

答:包的实质就是文件夹,是为了方便类和接口的管理;

包的创建用关键字package,包的导入用import。

(2)Java中异常处理的原理是什么?用到哪些关键字?分别说说这些关键字的作

用。

答:Java的异常是面向对象的。当出现异常情况时,就会产生一个 Exception 对象,

并放到异常的成员方法里。在一个方法的运行过程中,如果发生了异常,则这个方法生

成代表该异常的一个对象,并把它交给运行时系统,运行时系统寻找相应的代码,来处

理这一异常。生成异常对象,并把它提交给运行时系统的过程称为抛出(throw)一个异常;

运行时系统在方法的调用栈中查找,直到找到包含相应异常处理的方法为止,这一个过

程称为捕获(catch)一个异常。

一般来说,异常处理会用到5个关键字:try , catch ,finally,throws,throw

try…catch 或 try…catch…finally结构形式构成异常处理的基本语法。

throws一般在方法的定义处使用,它的作用是可以不在此方法内部处理异常,而是

将异常抛给它的调用者。

2