JAVA考试题库第六章.pdf_第1页
JAVA考试题库第六章.pdf_第2页
JAVA考试题库第六章.pdf_第3页
JAVA考试题库第六章.pdf_第4页
JAVA考试题库第六章.pdf_第5页
已阅读5页,还剩5页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

第六章异常和异常处理 一 选择题 6-1.下列关于异常的描述中,错误的是(B) A异常是一种经过修正后程序仍可执行的错误 B异常是一种程序在运行中出现的不可恢复执行的错误 C不仅 Java 语言有异常处理,C+语言也有异常处理 D出现异常不是简单结束程序,而是执行某种处理异常的代码,设法恢复程序的执行 6-2.下列关于异常处理的描述中,错误的是(D) A程序运行时异常由 Java 虚拟机自动进行处理 B使用 try-catch-finally 语句捕获异常 C使用 throw 语句抛出异常 D捕获到的异常只能用当前方法中处理,不能用其他方法中处理 6-3.下列关于 try-catch-finally 语句的描述中,错误的是(A) Atry 语句后面的程序段将给出处理异常的语句 Bcatch()方法跟在 try 语句后面,它可以是一个或多个 Ccatch()方法有一个参数,该参数是某种异常类的对象 Dfinally 语句后面的程序段总是被执行的,该语句起到提供统一接口的作用 6-4.下列关于抛出异常的描述中,错误的是(D) A捕捉到发生的异常可在当前方法中处理,也可以抛到调用该方法的方法中处理 B在说明要抛出异常的方法时应加关键字 throw C中可以有多个用逗号分隔的异常 D抛出异常的方法中要使用下述抛出异常语句:throw;其中,是异常类的类名 6-5.下列关于用户创建自己的异常描述中,错误的是(D) A创建自己的异常应先创建一个异常类 B为实现抛出异常,须在可能抛出异常的方法中书写 throw 语句 C捕捉异常的方法是使用 try-catch-finally 语句格式 D使用异常处理不会使整个系统更加安全和稳定 二 判断题 6-1.异常是一种特殊的运行错误的对象。 (对) 6-2.异常处理可以使整个系统更加安全和稳定。 (对) 6-3.异常处理是在编译时进行的。 (错) 6-4.Java 语言中异常类都是 java.lang.Throwable 的子类。 (对) 6-5.Throwable 类有两个子类:Error 类和 Exception 类。前者由系统保留,后者供应用程序使用。(对) 6-6.异常通常是指 Error 类和 Exception 类。 (错) 6-7.Exception 类只有一个子类为 RuntimeException。 (错) 6-8.在异常处理中,出现异常和抛出异常是一回事。 (错) 6-9.运行时异常是在运行时系统检测并处理的。 (错) 6-10使用 try-catch-finally 语句只能捕获一个异常。 (错) 6-11.捕获异常时 try 语句后面通常跟有一个或多个 catch () 方法用来处理 try 块内生成的异常事件。 (对) 6-12使用 finally 语句的程序代码为该程序提供一个统一的的出口。 (对) 6-13.抛出异常的方法说明中要加关键字 throws,并在该方法中还应添加 throw 语句。 (对) 6-14.创建异常类时要给出该异常类的父类。 (对) 6-15.如果异常类没有被捕获将会产生不正常的终止。 (对) 三 分析程序的输出结果 6-1.Exer6_1.java public class Exer6_1 public static void main(String args ) int x=10,y=0; int z=x/y; System.out.println(“z=“+z); 该程序运行后,输出结果如图所示: D:JAVAXTjava Exer6_1 Exception in thread”main”java.lang.ArithmeticException:/by zero At Exer6_1.main 6-2.Exer6_2.java public class Exer6_2 public static void main(String args) int array1=6,0,8; for(int i=0;ijava Exer6_2 正常:d=16 异常处理结束! 算术异常! 异常处理结束! 正常:d=12 异常处理结束! 下标越界异常! 异常处理结束! 6-3 Exer6_3.java public class Exer6_3 public static void main(String args) int array1=6,0,8; for(int i=0;ijava Exer6_3 正常:d=16 异常处理结束! 异常:java.lang.ArithmeticException:/by zero 异常处理结束! 正常:d=12 异常处理结束! 异常:java.lang.ArrayIndexOutOfBoundsExcepiton:3 异常处理结束! 6-4 Exer6_4.java public class Exer6_4 public static void Test() int a=new int3; for(int i=0;ijava Exer6_4 正常:a0=5 正常:a1=6 正常:a2=7 异常:java.lang.ArrayIndexOutOfBoudsException: 3 异常处理结束! Exception in thread “main” java.lang.ArrayIndexOutOfBoundsExcepiton:3 at Exer6_4.Test at Exer6_4.main 6-5 Exer6_5.java class myException extends Exception static int a=0 myException(String s) super(s); a+; String show() return“自定义异常出现的次数:“+a; Public class Exer6_5 static void Test() throws myException myException e; e=new myException(“自定义异常n“); throw e; Public static void main(String args) for(int i=0;ijava Exer6_5 自定义异常出现的次数:1 myException:自定义异常 自定义异常出现的次数:2 myException:自定义异常 自定义异常出现的次数:3 myException:自定义异常 5.简单回答题 6-1 检测异常事件必须使用什么语句? 答:try 语句 6-2 catch()方法的作用是什么?该方法用户能否调用? 答: 用来处理 try 块中检测出的异常事件。 6-3 catch()方法中异常类型应与什么相符? 答:与生成的异常事件类型相符。 6-4 异常示被捕获到将会出现什么现象? 答:try 语句后边的惯常处理代码将不被执行,通常使用 finally 语句提供一个统一出口。 6-5 在一个 try 语句的程序代码块中可以捕获多个异常吗? 答:可以 6-6 使用 throw 语句抛出的是类型还是对象? 答:抛出的是对象。 6-7 捕获到的异常还可以再抛出吗? 答:可以。 6-8 Finally 语句块中的代码何时被执行? 答:在异常事件处理的方法 catch()执行后执行。 6-9 语句 throw 的作用是什么? 答:抛出所检测到的异常。 6-10异常类 Exception 的父类是什么? 答:是 Throwable 类。 6.编程题 6-1 编程实现下述异常,并输出显示适当的错误信息。 (1)数组下标越界异常 ArrayIndexOutOfBoundsException 类型。例如, char ch=new char5; ch5=m;/产生该类型异常 (2) 对象转换异常 ClassCastException 类型。 例如,将对象 a1 转换为对象 a2 时,如果 a1 和 a2 不是同类,并且 a1 也不是 a2的子类对 象时,则产生该类型异常。 (3)引用空对象的变量和方法时产生 NullPointerException 异常类型。例如, int ar=null; System.out.println(ar.length) ;/产生该类异常 (1) 关于数组下标越界异常 ArrayIndexOutOfBoundsException 请参照本书本章例 6.1 的程序,请读 者自行编写。 (2) 下面关于对象转换的例子。程序内容如下: public class pro6_1 public static void main(String args) try M(); catch(ClassCastException e) System.out.println(“对象转换异常“); static void M()throws ClassCastException Object obj=new Object(); int arr=(int)(obj); (3) 编写处理异常程序如下: public class pro6_2 public static void main(String args) try int ar=null; System.out.println(ar.length); catch(NullPointerException e) System.out.println(“Exception:“+e); 运行该程序后,输出显示结果如下: Exception:java.Lang. NullPointerException. 6-2 定义一个 circle 类,其中有求面积的方法,当圆的半径小于 0 时,抛出一个自定义的异常。编程实 现之: 程序内容如下; class Circle extends Exception double r; Circle() Circle(double i) r=i; public double getr() return r; public doubleArea() return 3.1415*r*r; public clas

温馨提示

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

评论

0/150

提交评论