第7章 内部类与异常类
一、选择题
1.关于异常的含义,下列描述中最正确的一个是( D )。 A.程序编译错误 B.程序语法错误
C.程序自定义的异常事件 D.程序编译或运行时发生的异常事件
【解析】异常就是程序编译或运行时发生的异常事件。 2.自定义异常时,可以通过对下列哪一项进行继承?( C )
A.Error类 B.Applet类
C.Exception类及其子类 D.AssertionError类 【解析】自定义异常类时,该类必须继承Exception类及
4.运行下面程序时,会产生什么异常?( A )
public class X7_1_4 {
public static void main(String[] args) { int x = 0; int y = 5/x; int[] z = {1,2,3,4}; int p = z[4]; } }
其子类。
3.对应try和catch子句的排列方式,下列哪一项是正确的?( A )
A.子类异常在前,父类异常在后 B.父类异常在前,子类异常在后 C.只能有子类异常
D.父类和子类不能同时出现在try语句块中
【解析】对应try和catch子句的排列方式,要求子类异常(范围小的异常)在前,父类异常(范围大的异常)在后。
5.运行下面程序时,会产生什么异常?( C )
public class X7_1_5 {
public static void main(String[] args) { int[] z = {1,2,3,4}; int p = z[4]; int x = 0; int y = 5/x; } }
A.ArithmeticException B.NumberFormatException
C.ArrayIndexOutOfBoundsException D.IOException
【解析】当程序执行到“int y = 5/x”语句时,发生异常,程序中止执行,因此发生ArithmeticException异常。 6.下列程序执行的结果是( B )。
A.ArithmeticException B.NumberFormatException
C.ArrayIndexOutOfBoundsException D.IOException 【解析】当程序执行到“int p = z[4]”语句时,发生异常,程序中止执行,因此发生ArrayIndexOutOfBoundsException异常。
public class X7_1_6 { public static void main(String[] args) { try{ return; } finally{ System.out.println(\ } } }
A.程序正常运行,但不输出任何结果 B.程序正常运行,并输出Finally C.编译通过,但运行时出现异常 D.因为没有catch子句,因此不能通过编译
【解析】在执行try-catch-finally语句块时,最后必须执行finally语句块中的内容,而本程序没有异常发生,因此程序正常运行,并输出Finally。
7.下列代码中给出正确的在方法体内抛出异常的是8.下列描述了Java语言通过面相对象的方法进行异常处( B )。 理的好处,请选出不在这些好处范围之内的一项(C) A.new throw Exception(\.throw new Exception(\A.把各种不同的异常事件进行分类,体现了良好的继承C.throws IOException(); D.throws IOException; 性 B.把错误处理代