异常处理作业_第1页
异常处理作业_第2页
异常处理作业_第3页
异常处理作业_第4页
异常处理作业_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第九章 异常处理一、选择题1、无论是否发生异常,都需要执行( C )A、 try语句块 B、catch语句块 C、 finally语句块 D、 return语句2、异常处理变量( C )。A、应用public关键字 B、可以应用protected关键字 C、可以应用private关键字 D、只能在异常处理方法内使用。3、通常的异常类是(A )A、Exception B、exception C、CommonException D、ExceptionShare4、异常产生的原因很多,常见的有(A )。A、程序设计本身的错误 B、程序运行环境改变 C、软、硬件设置错误 D、以上都是5、( C )是除

2、0异常。A、RuntimeException B、ClassCastExceptionC、ArihmetticException D、ArrayIndexOutOfBoundException6、下列描述中,对使用异常处理的原因描述错误的有( D )A、将错误处理程序与正常程序流分开,增加程序的可读性B、可以容易地指出异常在何处处理C、减轻程序员处理异常的任务D、增加语言的复杂机制7、读下面代码,哪个选项是正确的( C )import java.io.*;public class Test2public static void main(String args)throws IOExcepti

3、onif(args0=”hello”) throw new IOException();A、没有错误,程序编译正确B、编译错误,不能够在main方法中抛出异常C、编译错误,IOException是一个系统异常,不能够由application程序产生D、没有输出结果8、当变异并且运行下面程序时会出现什么结果?( A )public class ThrowsDemostatic void throwMethod() System.out.print("Inside throwMethod"); throw new IOException("demo");pu

4、blic static void main(String args)try throwMethod(); catch(IOException e) System.out.println("Cauht"+e); A、编译错误 B、运行错误 C、编译成功,但不会打印出任何结果 D、没有输出结果9、执行下面程序的结果是什么?其中a=4,b=0 ( B )public static void divide(int a,int b) try int c = a / b; catch(Exception e) System.out.println("Exception&quo

5、t;); finally System.out.println("Finally"); A、打印Exception finally B、打印FinallyC、打印Exception D、没有输出结果10、假定一个方法会产生非RuntimeException异常,如果希望把异常交给调用该方法的方法处理,正确的声明方式是什么? ( A )A、throw Exception B、throws ExceptionC、new Exception D、不需要指明什么11、阅读下面的代码段、trytryThis();return;catch(IOException x1) System.

6、out.println(“exception 1”);Return;catch(Exception x2)System.out.println(“exception 1”);Return;finally System.out.println(“finally”)如果tryThis()抛出一个IOException,那么屏幕的输出是什么?( A )A、”exception 1”后面跟着”finally” B、” exception 2”后面跟着“finally”C、”exception 1” D、”exception 2”12、下列哪些内容不是异常的含义?( B ) A、 程序的语法错 B、 程

7、序编译或运行中所发生的异常事件 C、 程序预先定义好的异常事件 D、 程序编译错误13、 自定义的异常类可从下列哪个类继承?( D )A、 Error类 B、 AWTError C、 VirtualMachineError D、 Exception及其子集14、 当方法遇到异常又不知如何处理时,下列哪种做法是正确的?( A )A、 捕获异常 B、 抛出异常 C、 声明异常 D、 嵌套异常15、 如要抛出异常,应用下列哪种子句?( B ) A、 catch B、 throw C、 try D、 finally16、对于catch子句的排列,下列哪种是正确的?( B )A、父类在先,子类在后 B、

8、子类在先,父类在后C、有继承关系的异常不能在同一个try程序段内 D、先有子类,其他如何排列都无关17、下列选项中属于异常的关键字是( C )A、 public B、InputStream C 、Exception D、abstract18、下列选项中属于Exception异常的是(D )A、ArithmeticException B、nullPointerExceptionC、classcastException D、以上都是 19、以下是异常的处理,哪个选项是正确的( D )A、book()throws exception B、book(int a)exceptionC、book()thr

9、ows D、book()throw exception20、所有属于( B )子类的异常都是非检查型异常A、RuntimeException B、Exception C、Error D、以上答案都不对21、Java编译程序对于( A )需要加强捕获或声明要求A、异常 B、 错误 C、非检查型错误 D、检查型异常22、如果试图捕获多个错误,可在( A )语句块的后面使用多个()语句块A、 try catch B、 catch try C、finally try D、以上答案都不对23、将需要处理异常作为( B )语句块的一个参数来进行声明A、 try B、 catch C、 finally D、

10、 以上都不对24、try语句块可以( C )A、 拥有惟一的一个catch语句块 B、 多个finally语句块C、 一个或多个catch语句块 D、 以上答案都不对25、所有RuntimeException子类的异常都属于( C )A、 致命错误 B 、 逻辑错误 C 、 检查型错误 D、 非检查型错误26、( D )是所有Exception和Error类的共同超类A、Throwable B、CheckedException C、 Catchable D、RuntimeException27、Error和Exception是Throwable的两个直接子类,其中下列属于Error的直接子类的

11、是( D )A、ThreadDeath B、 LinkageError C、VirtualMachineError D、以上都是28、在try代码中声明的变量只能在该块的大括号( B )使用A、 结束之前 B、 结束之后 C、 不清楚 D、 不用执行29、假定一个方法可能会产生非RuntimeException异常,如果希望把异常交给调用该方法的方法处理,正确的声明方式是( D )A、throws Exception B、throw Exception C、new Exception D、不需要指明什么30、 try代码块中包含的是可能引起一个或多个异常代码,能够抛出异常的代码必须位于( A

12、)代码块中。A、 catch B、 finally C 、 try D 、 B和C31、 Java一般不会检查( A )是否被处理,而本身在程序中也不能捕获该类型的异常,因为它一旦产生,该程序基本会处于需要终止的状态A、Exception B、Errror C、catch D、ClassCastException32、 当应用程序检测到异常时,会调用( B )A、异常代码 B、异常处理器 C、异常处理程序 D、以上答案都不是33、调用方法Integer.parseInt(“123.45”);将抛出( C )A、 NumberFormatException B、 ParsingException

13、C、 ArithmeticException D、 以上答案都不对34、try语句块中未产生异常,应用程序会忽略相应( C )A 、 finally语句块 B、 return语句 C、 catch语句块 D、 A和C35、Java编译程序对于( D )需要捕获和声明要求A、 错误 B、 异常 C、 非检查异常 D、 检查异常36、如果方法未能改正所出现的问题,则方法将( A )异常A、 抛出 B、 捕获 C、 返回 D、 以上答案都不对37、如果try语句中未产生异常,应用程序会忽略相应的( C )A 、finally语句块 B、 return语句 C、catch语句块 D、 以上答案都不对3

14、8、执行语句过程中对异常的处理被称为异常( B )A 、检测 B 、 处理 C 、解决 D、 调试39、在( C )之后总有至少一个catch语句块或一个可以选用的finally语句块A、 if语句 B、 throws语句块 C、 try语句块 D、 以上答案都不对40、当应用程序检测到异常时,会调用( A )A、 异常代码 B 、异常处理器 C、异常处理程序 D、以上答案都不对41、每个catch块都需要指定一个( C ),表示异常处理程序所能处理的异常类型A、参数 B、try语句块 C、错误处理程序 D、抛出程序42、如果try语句块中没有抛出异常,则( A ) A、 跳过所有catch语

15、句块 B 、执行所有catch语句块C、 产生一个错误 D 、抛出默认的异常43、 ( C )类及其子类所表示的异常通常不需要捕获A、 NumberFormatException B、 ExceptionC、 Error D、 RuntimeException44、 所有RuntimeException子类的异常都属于( ) A、致命错误 B、逻辑错误 C 、检查型异常 D、非检查型异常45、在oneMethod()方法运行正常的情况下将显示什么?( D )public void test() try oneMethod(); System.out.println("conditio

16、n 1"); catch (ArrayIndexOutOfBoundsException e) System.out.println("condition 2"); catch(Exception e) System.out.println("condition 3"); finally System.out.println("finally"); Which will display if oneMethod run normally? A、condition 1 B、 condition 2 C、 condition 3

17、 D、condition 1 finally 46、如果try语句块中没有跑出异常,则( A )A、 跳过所有的catch语句块 B、 执行所有的catch语句块C、 产生一个错误 D、 跑出默认的异常47、每个catch块都需要制定一个( C ),表示异常处理程序所能处理的异常类型A、 try语句块 B、 参数 C 、 错误处理程序 D、 抛出程序48、给出下面代码、public class test static int a = new a10; public static void main(String args) System.out.println(arr10); 那个选项是正确的

18、? ( B )A、 编译时将产生错误; B、 编译时正确,运行时将产生错误; C、 输出零; D、 输出空。49、下列那些内容是异常的含义( D )A、 程序的语法错误 B、 程序的编译错误C、 程序执行过程的错误 D、 程序编译或运行所发生的异常事件二、判断题1、不能在finally块中执行return,continue等语句,否则会把异常“吃掉”( × )2、Try语句后面可以跟多个catch语句( )3、finally语句必须执行。( )4、throws 和throw 功能一样。( × )5、try语句后面必须跟catch语句( )6、try语句后面只能跟一个catc

19、h语句(× )7、当代码出现异常时,才执行try/catch/finally语句的finally部分代码( × )8、Try/catch 语句不可以进行嵌套操作。(× )9、异常就是程序运行过程中遇到的严重错误,使程序运行中止,或者即使程序能够继续运行,但得出错误的结果甚至导致严重的后果。 ( )10、事实上,异常以及异常处理是非常简单,所以程序员选择用异常而不选择自己处理错误。 ( × )11、异常的处理分为异常抛出和异常捕获。异常抛出就是系统自动检测到特定位置出现的异常,从而可以进行实现编写好的异常处理程序。异常捕获是指用户自己抛出特定的异常来出发异

20、常处理程序,以槛车异常处理程序是否能正常工作。(× )12、finally子句不一定会执行的,要根据具体的情况。( × )13、因为java类库提供了十分丰富的异常类型,能够满足绝大多数编程需要,所以,在开发较大的程序时,不需要建立自己的异常类。( × )14、 程序中抛出异常时(throw ),只能抛出自己定义的异常对象。(× )15、. 一个异常处理中 finally语句块只能有一个或者可以没有。( )16 程序产生的原因有程序设计本身的错误、程序运行环境改变、软硬件设置的错误 ( ) 17 finally语句块只有在try语句块中检测到异常时才会执

21、行里面的语句 ( × )18 异常就是程序运行过程中遇到的严重错误,使程序运行终止,或者即使程序能够继续运行,但得出错误的结果甚至导致严重的后果 ( )19 异常抛出就是系统自动检测到特定位置出现的异常,从而可以执行事先编写好的异常处理程序 ( )20 为了实现异常的声明,在产生异常的方法参数列表之后、方法体之前提供一个含检查型异常的throw语句 (× )21 异常处理机制允许开发人员将错误处理代码从应用程序的逻辑代码中分离出来,从而改善应用程序的清晰度和可修 ( )22 在Java处理机制中,try-catch-finally语句来捕获异常而用throws来抛出异常 (

22、 )23 Java系统在产生异常后,从上到下依次对每个catch语句进行检测,直到找到和抛出的异常对象想匹配的异常类型为止( )24 利用try语句将可能跑出NumberFormatException异常的语句进行封装并使用catch语句块实现对NumberFormatException异常的处理 ( )25 非运行时异常就是编译器编译的时候发现不了,只有在运行的时候才报错的异常;而运行时异常则是指编译的时候就能发现的异常 ( × )26 Exception由程序处理的异常,分为运行时异常和非运行时异常 (× )27 RuntimeException异常需要区别对待并且编译

23、器允许忽略它们的原因是,它们通常由代码中的严重错误产生 ( )28 CalssCastException指的是试图把一个对象进行非法的类型强制转换,即这个对象不是指定的类,也不是指定的 子类或者超类 ( × ) 29 catch代码块包含的代码不是用来处理相关的try代码块中可能抛出的某种具体类型的代码 ( × )30 try代码块只能抛出一个异常不能抛出多个异常,try后面可以跟多个cathc ( × )31 如果需要关闭一个文件,或者需要释放一项重要资源,可以把相关处理的代码放入一个finally代码中以确保完成工作 ( )32、IOexception属于Ex

24、ception包( )33、如果try语句块中未产生异常,应用程序会忽略相应catch语句块。( )34、程序中抛出异常时(throw ),只能抛出自己定义的异常对象。 ( × )35、一个异常处理中 finally语句块只能有一个或者可以没有。( )三、程序阅读题1、阅读下面代码,写出运行结果。public class TestExceptionpublic TestException()boolean testEx() throws Exceptionboolean ret = true;tryret = testEx1();catch (Exception e)System.o

25、ut.println("testEx, catch exception");ret = false;throw e;finallySystem.out.println("testEx, finally; return value=" + ret);return ret;boolean testEx1() throws Exceptionboolean ret = true;tryret = testEx2();if (!ret)return false;System.out.println("testEx1, at the end of try

26、");return ret;catch (Exception e)System.out.println("testEx1, catch exception");ret = false;throw e;finallySystem.out.println("testEx1, finally; return value=" + ret);return ret;boolean testEx2() throws Exceptionboolean ret = true;tryint b = 12;int c;for (int i = 2; i >=

27、-2; i-)c = b / i;System.out.println("i=" + i);return true;catch (Exception e)System.out.println("testEx2, catch exception");ret = false;throw e;finallySystem.out.println("testEx2, finally; return value=" + ret);return ret;public static void main(String args)TestExceptio

28、n testException1 = new TestException();trytestException1.testEx();catch (Exception e)e.printStackTrace();答案 :2、阅读下面代码,写出运行结果class MultiNest static void procedure() try int a = 0;int b = 42/a; catch(java.lang.ArithmeticException e) System.out.println("in procedure, catch ArithmeticException: &qu

29、ot; + e);public static void main(String args) try procedure(); catch(java.lang. Exception e) System.out.println("in main, catch Exception: " + e);答案:3、写出下面代码所捕获的异常类型 Public class Exception1Public static void main(String args) Try int a=1,2,3,4,5, sum=0;For(int i=0;i<=5;i+)sum=sum+ai;Sys

30、tem.out.println(“sum=”+sum);Catch(ArrayIndexOutOfBoundsException e)System.out.println(“ArrayIndexOutOfBoundsExceptiondetected”);FinallySystem.out.println(“Programm Finished!”)答案:4、写出下面代码所捕获的异常类型 Public class Exception2Public static void main(String args)Try int x,y;X=15;Y=0;System.out.println(x/y);S

31、ystem.out.println(“Computing successfully!”);Catch(ArithmeticException e)System.out.println(“ArithmeticException catched!”)System.out.println(“Exception message:”+e.toString();FinallySystem.out.println(“Finally block.”)答案:5、在上例中要求输入文件名,它只声明所输入文件名是否存在异常并没有去处理。请在划线处上填上适当的子句,使其能捕获异常并正确执行。 import java.i

32、o.*; public classBException public static void main(String args)/获得文件名 BuffereReader stdin=new BuffereReader(new InputSteramReader(System.in); System.out.printl(“Filename:”); String s=stdin.readLine; BuffereReader filein=null;/为处理组织文件流 try Filein= new BuffereReader(new FileReader(s); System.err.prin

33、tln(s+“、cannot be opened for reading”); System.exit(0); int numerator=Integer.paresInt(filein.readLine( ) );/提取值和计算商 int denominator=Integer.parseInt(filein.readLine( ) ); int quotient=numerator/denominator; System.out.pintln( ); System.out.println(numerator+“/”+denominator+“=”+quotient); return; 6、

34、下列是异常的处理,请完成程序public class numberpublic static void main(String args) int a=9;int b=0; tryint sum=a/b;System.out.println(sum);catch( e) System.out.println(e.toString(); 7、 下面是一个类型转换的程序,请完成程 Public calss TryCatch Public static void main(String args) String t1=”03121”; Double t2=0; TryTi=Double.parseDouble(t2);System.out.println(“转换成功”);catch( e) System.out.pri

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论