JAVA练习题(第5章)
JAVA程序设计练习题 第5章 一、选择题 1.下面关于Java中异常处理try块的说法正确的是( )? (选两项) A. try块后通常应有一个catch 块,用来处理 try块中抛出的异常。 B. catch 块后必须有finally块。 C.可能抛出异常的方法调用应放在try块中。 D.对抛出的异常的处理必须放在try块中 2.以下关于java异常说法不正确的是( )。 A. Throwable 类是 Java 语言中Error类和Exception类的父类。 B.当异常对象是Exception类(或其子类)的实例时,能通过 Java 虚拟机或者 throw 语句抛出该异常对象,并能通过try…catch…finally处理。 C.如果只用一个catch块捕捉多个异常对象,则catch 子句中的参数类型应是所有异常对象的父类。 D.以上说法都不对。 3.异常包含下列哪些内容? ( ) A.程序执行过程中遇到的事先没有预料到的情况 B.程序中的语法错误 C.程序的编译错误 D.以上都是 4.对于已经被定义过可能抛出异常的语句,在编程时: ( ) A.必须使用try/catch语句处理异常,或用throws将其抛出 B.如果程序错误,必须使用 try/catch语句处理异常 C.可以置之不理 D.只能使用try/catch语句处理 5.java中用来抛出异常的关键字是( ) A.try B.catch C.throw D.finally 6.关于异常,下列说法正确的是( ) A.异常是一种对象 B.一旦程序运行,异常将被创建 C.为了保证程序运行速度,要尽量避免异常控制 D.以上说法都不对 7.( )类是所有异常类的父类。 A.Throwable B.Error C.Exception D.AWTError 8.java语言中,下列哪一子句是异常处理的出口( ) A.try{…}子句 B.catch{…}子句 C.finally{…}子句 9.下列程序的执行,说法错误的是 1.class MultiCatch 2.?{ 3. public static void main(String args[]) 4.???? { 5.?????? try 6.????????? { 7.??????????? int a=args.length; 8.??????????? int b=42/a; 9.??? ????????int c[]={1}; 10.??????????? c[42]=99; 11.?????????? System.out.println(“b=”+b); 12.????????? } 13.?????? catch(ArithmeticException e) 14.????????? { 15.???????????? System.out.println(“除0异常:”+e); 16.?????????? } 17.?????? catch(ArrayIndexOutOfBoundsException e) 18.??????????{ 19.???????????? System.out.println(“数组超越边界异常:”+e); 20.??????????? } 21.?????????? } 22.??? } A.程序将输出第15行的异常信息 B.程序第10行出错 C.程序将输出“b=42” D.程序将输出第19行的异常信息 10.下列程序的执行,说法正确的是 class ExMulti { ? static void procedure() ? { ??? try ???? { ????? int c[]={1}; ????? c[42]=99; ???? } ? ??catch(ArrayIndexOutOfBoundsException e) ???? { ?????? System.out.println(“数组超越界限异常:”+e); ???? } ?? } ??? public static void main(String args[]) ??? { ????? try ??????? { ????????? procedure(); ????????? int a=args.length; ????????? int b=42/a; ????????? System.out.println(“b=”+b); ???????? } ?????? catch(ArithmeticException e) ???????? { ?????????? S