java题库第六章.doc

上传人:飞****2 文档编号:78753827 上传时间:2023-03-19 格式:DOC 页数:11 大小:45KB
返回 下载 相关 举报
java题库第六章.doc_第1页
第1页 / 共11页
java题库第六章.doc_第2页
第2页 / 共11页
点击查看更多>>
资源描述

《java题库第六章.doc》由会员分享,可在线阅读,更多相关《java题库第六章.doc(11页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、第六章 异常和异常处理一 选择题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语句的描述中,错误

2、的是(A) Atry语句后面的程序段将给出处理异常的语句 Bcatch()方法跟在try语句后面,它可以是一个或多个 Ccatch()方法有一个参数,该参数是某种异常类的对象 Dfinally语句后面的程序段总是被执行的,该语句起到提供统一接口的作用6-4.下列关于抛出异常的描述中,错误的是(D) A捕捉到发生的异常可在当前方法中处理,也可以抛到调用该方法的方法中处理 B在说明要抛出异常的方法时应加关键字throw C中可以有多个用逗号分隔的异常 D抛出异常的方法中要使用下述抛出异常语句:throw;其中,是异常类的类名6-5.下列关于用户创建自己的异常描述中,错误的是(D) A创建自己的异常

3、应先创建一个异常类 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类。(错

4、)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

5、-15.如果异常类没有被捕获将会产生不正常的终止。(对)三 分析程序的输出结果6-1.Exer6_1.javapublic 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_1Exception in thread”main”java.lang.ArithmeticException:/by zero At Exer6_1.main6-2.Exer6_2.javapubli

6、c class Exer6_2public 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.javapublic class Exer6_3public static void main(String args)int array1=6,0,8;for(int i=0;ijava Exer6_3正常:d=16异常处理结束!异常:java.lang.ArithmeticEx

7、ception:/by zero异常处理结束!正常:d=12异常处理结束!异常:java.lang.ArrayIndexOutOfBoundsExcepiton:3异常处理结束!6-4 Exer6_4.javapublic class Exer6_4public 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.

8、ArrayIndexOutOfBoundsExcepiton:3at Exer6_4.Testat Exer6_4.main6-5 Exer6_5.javaclass myException extends Exceptionstatic int a=0myException(String s)super(s);a+;String show()return自定义异常出现的次数:+a;Public class Exer6_5static void Test() throws myExceptionmyException e;e=new myException(自定义异常n);throw e;Pu

9、blic static void main(String args)for(int i=0;ijava Exer6_5自定义异常出现的次数:1myException:自定义异常自定义异常出现的次数:2myException:自定义异常自定义异常出现的次数:3myException:自定义异常5.简单回答题6-1 检测异常事件必须使用什么语句?答:try语句6-2 catch()方法的作用是什么?该方法用户能否调用?答: 用来处理try块中检测出的异常事件。6-3 catch()方法中异常类型应与什么相符?答:与生成的异常事件类型相符。6-4 异常示被捕获到将会出现什么现象?答:try语句后边的

10、惯常处理代码将不被执行,通常使用finally语句提供一个统一出口。6-5 在一个try语句的程序代码块中可以捕获多个异常吗?答:可以6-6 使用throw语句抛出的是类型还是对象?答:抛出的是对象。6-7 捕获到的异常还可以再抛出吗?答:可以。6-8 Finally语句块中的代码何时被执行?答:在异常事件处理的方法catch()执行后执行。6-9 语句throw的作用是什么?答:抛出所检测到的异常。6-10 异常类Exception的父类是什么?答:是Throwable类。6.编程题6-1 编程实现下述异常,并输出显示适当的错误信息。(1) 数组下标越界异常ArrayIndexOutOfBo

11、undsException类型。例如,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的程序,请读者自行编写

12、。(2) 下面关于对象转换的例子。程序内容如下: public class pro6_1public static void main(String args)tryM();catch(ClassCastException e)System.out.println(对象转换异常);static void M()throws ClassCastExceptionObject obj=new Object();int arr=(int)(obj); (3) 编写处理异常程序如下:public class pro6_2public static void main(String args)tryin

13、t 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 Exceptiondouble r;Circle() Circle(double i)r=i;public doubl

14、e getr()return r;public double Area()return 3.1415*r*r;public class pro6_3public static void main(String args)Circle c=new Circle(-3.0);tryif(c.getr()0)Circle ee=new Circle();throw ee;System.out.println(c.Area();catch(Circle e)System.out.println(自定义异常:+e);运行该程序后,输出显示如下结果:自定义异常:Circle如果将语句Circle c=ne

15、w Circle(-3.0);必为Circle c=new Circle(3.0);输出结果如何?请读者上机试试。6.5测试题1. 单选题6-1 下列关于异常和异常类的描述中,错误的是( )。A. 异常是某种异常类的对象B. 异常类代表一种异常事件C. 异常对象中包含有发生异常事件的类型等重要信息D. 对待异常和处理就是简单地结束程序6-2 下列关于异常处理的描述中,错误的是( )。A. 程序运行时出现的异常是通过系统默认的异常处理程序进行处理的B. 在程序中可以使用try-catch语句捕捉异常和处理异常事件C. 对于捕获的异常只能在当前方法中处理D. 使用throw语句可将异常抛出到调用当

16、前方法的方法中处理6-3 下列关于用户创建自己的异常的描述中,错误的是( )。A. 为了保证系统的稳定性,用户可以创建自己的异常和异常类B. 创建的异常类必须是Exception类的子类C. 在创建的异常类的类体中可以定义或重载其的属性和方法、D. 用户自定义的异常必须使用throw语句进行抛出2. 判断题6-1 异常不是致命错误。6-2 异常类Exception是Throwable类的子类,该类还派生出许多子类。6-3 catch()方法是用来捕捉和处理异常的,可使用多个该方法,其异常类型的先后顺序是无关的。6-4 用户在创建自己的异常时,通常在通过throw语句抛出异常。6-5 final

17、ly语句的程序段无论发生异常事件与否,它都是被执行的。3. 分析程序的输出结果6-1 程序内容如下:public class test6_1public static void main(String args)int arr=1,3,5,7,9;int i=0;while(i6)trySystem.out.println(arri+1);catch(ArrayIndexOutOfBoundsException e)System.out.println(下标越界);finallySystem.out.println(ok);6-2 程序内容如下:class myException extend

18、s ExceptionmyExcepiton(String s)super(s);public class test6_2public static void main(String args)trythrow new myException(我自定义的异常);catch(myException e)e.printStackTrace();4. 编程题读者自己定义一种异常类,并编程捕捉某种异常,输出异常信息。5. 简答题已知:下列try-catch-finally语句块中将会引起一个异常,试回答下述问题。trycatch(e1)catch(e2)finally(1) 会执行吗?(2) 如果异常被捕捉了,finally语句被执行吗?(3) 如果异常没被捕捉,finally语句被执行吗?(4) 无论异常是否被捕捉,都被执行吗?

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com