您的位置: 网站首页 > 程序开发 > Java程序设计 > 第8章 异常处理 > 【8.5 练 习 题】

8.5 练 习 题

 

8.5  练  习  题

1.填空题

(1)实际情况中可能出现的程序错误是很多的,但是它们基本上可以分为两种类型:一种是          ,另一种是          。

(2)Java程序不能正常执行可以分为两种情况:          和          。         

通常是指程序本身存在的非法的情形,这些情形常常是因为代码存在的问题而引起的。而且,编程人员可以通过对程序进行更仔细的检查,尽可能地减少这些问题。          则表示另外一种“非同寻常”的错误,这种错误通常是不可预测的。

(3)常见的异常情况包括          、          等。

(4)异常的处理主要包括          、          和          等。

(5)Java中所有的异常都由类来表示,所有的异常都是从一个名为          的类派生出来的。因此,当程序中发生一个异常时,就会生成一个异常类的某种类型的对象。

(6)Java异常处理是通过5个关键字来管理的。它们是          、          、

          、          和          。

2.选择题

(1)Throwable有两个直接子类,分别是      和      。

A.Exception和Object                            B.Exception和Error

C.Object和Error                                   D.LinkageError和VitualmanchineError

(2)      用于找不到类或接口所产生的异常。

A.ClassNotFoundException                     B.CloneNotSupportedException

C.IllegaAccessException                  D.InstantiationException

(3)在Java程序里,异常对象是依靠      语句来捕获和处理的。

A.try/throw         B.throw/final              C.try/catch          D.catch/final

(4)直接抛出异常的格式为      。

A.try {                                           B.catch (ExceptionObject e)

C.throws newExceptionObject;         D.throw newExceptionObject;

(5)当Java虚拟机崩溃了或用尽了它继续操作所需的资源时,抛出VitualmachineError,下列错误中哪一个不属于VitualmachineError?     

A.InternalError                               B.OutOfMemoryError

C.LinkageError                               D.UnknownError

3.问答题

(1)列出5个常见的异常。

(2)什么是异常?什么是异常处理?

(3)异常(Exception)和错误(Error)有什么不同?Java如何处理它们?

(4)试述finally语句块的功能及特性。

4.上机操作题

(1)创建这样一个程序,它企图引用一个指向空值的变量,并尝试用一个不正确的下标去访问一个数组,如用一个负的下标值在一个字符串中得到一个字符。执行这个程序并描述所看到的错误信息。

(2)创建一个double stringToDouble(String number)方法,试图把输入的字符串转换成double型的数值,在可能会出现问题时抛出一个异常。采用适当的捕获机制来捕获异常。

(3)创建一个DoubleField类,它类似于TextField,但它把输入框中的字符串作为double类型的值返回;若字符串不能表示一个double类型值,它将返回一个默认值。可以把这种输入框用于具有某种复杂功能的Applet中,使它继承TextField类。除了继承的getText( )和setText( )方法外,还要添加getNumber( )和setNumber( )两个方法,用它们来返回合适的值。如有必要,还要捕获任何错误。