狂翔软件自定义异常章节题目
一. 选择题:
1. 关于异常的定义,下列描述中最正确的一个是()
a) 程序编译错误   
b) 程序语法错误 
c) 程序自定义的异常事件
d) 程序编译或运行中所发生的可预料或不可预料的异常事件,它会引起程序的中断,影响程序的正常运行
2. 抛出异常时,应该使用下列哪个子句
a) thow            b)catch        c)finally        d)throws
3. 自定义异常类时,可以通过对现列哪一项进行继承()
a) Error       b)Applet            c)Exception类及其子集 d)AssertionError
4. 当方法产生该方法无法确定该如何处理导演时,应该如何处理
a) 声明异常        B)捕获异常        C)抛出异常        D)嵌套异常
5. 对于trycatch子句的排列方式,下列哪一项是正确的
a) 子类异常在前,父类异常其后
b) 父类异常在前,子类异常其后
c) 只能有子类异常
d) 父类异常和子类异常不能同时出现在同一个try程序段内
6. 下列java语言的常用异常类中,属于检测异常的是()
a) ArithmeticException
b) FileNotFoundException
c) NullPointerException
d) IOException
7. 下面描述中,错误的一项是()
a) 一个程序抛出异常,任何其他在运行中的程序都可以捕获
b) 算术溢出需要进行异常处理
c) 在方法中监测到错误但不知道如何处理错误时,方法就声明一个异常
d) 任何没有被程序捕获的异常将最终被默认处理程序处理
8. 下列描述中,正确的一个是
a) 内存耗尽不需要进行异常处理
b) 除数为零需要进行异常处理
c) 异常处理通常比传统的控制结构流效率更高
d) 编译器要求必须设计实现优化的异常处理
9. 下列错误不属于Error的是
a) 动态链接失败    b)虚拟机错误    C)线程死锁    D)被零除
10. 下列描述中,错误的一个是()
a) 异常抛出点后的代码在抛出异常后不再执行
b) 任何没有被程序捕获的异常将最终被缺省处理程序处理
c) 异常还可以产生于JAVA虚拟机内部的错误
d) 一个TRY代码段后只能跟有一个CATCH代码段
11. 下列描述中不属于java异常处理机制优点的一项是
a) 把错误处理代码从正常代码中分离出来
b) 按错误类型和差别分组
c) 对无法预测的错误的捕获和处理
d) 能够处理任何类型的错误
12. 下列方法中哪一个不能用于获取异常信息()
nullpointerexception为什么异常a) toString()  b) getMessage()        c)drawline()        d)printStackTrace()
13. 下列描述中,哪一项不属于finally语句应该招待的功能()
a) 释放资源    b)关闭文件    c)分配资源        d)关闭数据库
14. 下列关于抛出异常的描述中,错误的一项是()
a) 任何从Throwable派生的类都可以用throw语句抛出
b) Exception ErrorThrowable的直接派生类
c) 异常抛出点后的代码在抛出异常后不再执行
d) Exception代表系统严重错误,一般程序不处理这类错误
15. 一个catch语句段一定总和下列哪一项相联系
a) Try语句段        b)finally语句段        c)throw        d)throws
二. 选择题
1. java语言中,为将源代码编译成  字节码  时产生的错误为编译错误。而将程序在 运行 时产生的错误称为运行错误。
2. Java的异常类可以分为  Exception 类和  Error
3. Java语言声明   Error  类为会产生“严重错误”的类
4. 自定义的异常类必须为  Exception  的子类
5. 要继承自定义异常类的继承方式必须使用  extends 关键字
6. Java发生异常状况的程序代码放在  try  语句块中,将要处理异常状况的处理主式放于  catch  语句块中,而  finally  语句块则是必定会执行的语句块。其中  catch  语句埠可以有多个,以捕获各种不同类型的异常事件
7. 任何没有被程序捕获的异常将最终被  JAVA虚拟机标准异常处理程序  处理
8. 当在一个方法的代码中抛出一个检测异常时,该异常或被方法中的 TRY—CATCH结构 捕获,或者在方法的 THROWS 中声明
9. 异常处理机制可以允许根据具体的情况选择在何处处理异常,可以在 方法内部 捕获并处理,也可以用throws子句把它交给调用栈中 上层的方法 去处理
10. ad()方法可能产生  IOException  异常
11. 一个try代码段后面必须跟着若干个 catch  代码段或者一个  finally 代码段
12. Java异常机制把异常事件当成 对象 来处理,利用类的层次性可以把多个具有相同 父类 的异常统一处理,也可以区分不同的异常分别处理,使用非常灵活。
13. 为了达到高效运行的要求, 运行时出现 的异常,可以直接交给Java虚拟机系统来处理,而Exception 类派生出的非运行异常,要求编写程序捕获或者声明。
14. 现在1try代码段,其后紧跟了2catch代码和1finally代码段,若try代码段中没有异
常产生,那么当try代码段结束执行时,程序将进入 finally    代码段。
15. 当异常已经被定义时,必须通过try  cathc  finally 语句来处理它。
16. Try子句中包含 可能产生异常 的程序段
17. Catch  子句包含捕获异常 的程序段
18. Finally子句中包含 统一事后处理 的程序段
19. Throw的作用是 抛出异常
20. Throws的作用是    声明方法可能抛出的异常类型
21. 语句 catch 可以捕获Exception Error
22. Java 语言中常异常类IOException是用来处理 输入输出 异常的类
23. Java语言中常用异常类ClassNotFoundException是用来处理  引用没有定义的类  的异常的类
24. 可以通过  catch(Exception e) 语句来捕获所有的异常。
25. 如果一个使用了 声明异常 则编译器会强制在使用这个方法时处理这些异常。
26. Java语言中常用异常类EoFException是用来处理  文件结束 异常的类
27. 当一个异常被抛出之后,需要有专门的语句来接收被抛出的异常,这个接收过程被称为捕获异常
28. 捕获异常时,可以把catch捕获的异常对象向外抛出,使上层try-catch结构继续处理该异常事件;也可以把异常对象转换为其它异常对象。
29. 为了啬程序的健壮性,在进行程序设计时,必须考虑到可能发生的异常情况并做出相应的处理。
30. 传统的错误处理方法可以通过被调用函数的 返回值 感知在被调用函数中产生的错误。
三. 问答题:
1. 请简述try…catch..[finally] 三个语句块的主要功能
2. 请列举至少三种在java语言中发生“严重错误”的情况
3. Finally语句块与catch语句块是否可以同时都没有?
4. 自已编写一个自定义异常类,来处理一个异常
5. 简要说明ClassNotFoundException  IOException类的意义