java考试题库第六章.docx
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第六章异常和异常处理
一选择题
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)
A・try语句后面的程序段将给出处理异常的语句
B・catch ()方法跟在try语句后面,它可以是一个或多个
C. catch ()方法有一个参数,该参数是某种异常类的对彖
D・finally语句后面的程序段总是被执行的,该语句起到提供统一接口的作用
6・4.下列关于抛出异常的描述中,错误的是(D)
A.捕捉到发牛的异常可在当前方法中处理,也可以抛到调用该方法的方法中处理
B.在说明要抛出异常的方法吋应加关键字throw<异常列表〉
C.v异常列表〉中可以有多个用逗号分隔的异常
D.抛岀异常的方法中要使用下述抛出异常语句:throw<异常名〉;其中,v异常名>是异常类的类名6・5.下列关于用户创建自己的异常描述中,错误的是(D)
A.创建自己的异常应先创建一个异常类
B.为实现抛出异常,须在可能抛出异常的方法中书写throw语句
C.捕捉异常的方法是使用try-catch-finally语句格式
D.使用异常处理不会使整个系统更加安全和稳定
二判断题
6・1 .异常是一种特殊的运行错误的对象。(对)
62异常处理可以使整个系统更加安全和稳定。(对)
6・3.异常处理是在编译时进行的。(错)
6-4.Java语言中异常类都是ng.Throwable的子类。(对)
6-5.Throwable类有两个子类:Enor类和Exception类。前者由系统保留,后者供应用程序使用。(对)6・6.异常通常是指Error类和Exception类。(错)
6-7.Exception 类只有一个子类为RuntimeException o(错)
68在异常处理屮,出现异常和抛出异常是一回事。(错)
6・9.运行时异常是在运行时系统检测并处理的。(错)
6-10.使用try-catch-finally语句只能捕获一个异常。(错)
6・11 •捕获异常时try语句后面通常跟有一个或多个catch ()方法用来处理try块内牛成的异常事件。(对)6・12・使用finally语句的程序代码为该程序提供一个统一的的出口。(对)
6・13.抛出异常的方法说明中要加关键字throws,并在该方法屮还应添加throw语句。(对)
6・14.创建异常类时要给出该异常类的父类。(对)
6J5.如果异常类没有被捕获将会产生不正常的终止。(对)
三分析程序的输出结果
6・1. Exer6_l.java
public class Exer6_l
public static void main(String args[])
int x=10,y=0;
int z=x/y;
System.out.println(u z="+z);
}
}
该程序运行后,输岀结果如图所示:
D:\JAVA\XT>java Exer6_l
Exception in thread"main^ng.ArithmeticException:/by zero At Exer6_l .main
6・ 2.Exer6_2.java
public class Exer6_2
{
public static void main(String args[])
{
int array 1[]={ 6,0,8};
for(int i=0;i { try { int d=100/array[i]; System.out.println( ^\t 正常:d= "+d); } catch(ArithmeticException e) { System.out.println("\t 算术异常”); } catch(ArrayIndexOutOfBoundsException e) { System.out.println("\t 下标越界异常”); } finally { System.out.println("\t 异常处理结束! \n H); 运行该程序后,输出如图所示 D:\JAVA\XT>java Exer6_2 正常:d二16 界常处理结束! 算术异常!异常处理结束! 正常:d=12 异常处理结束! 下标越界异常! 异常处理结束! 6-3 Exer6_3.java public class Exer6_3 { public static void main(String args[]) { 〜 int array 1[]={ 6,0,8}; for(int i=0;i<=array 1 .length;i++) { try { int d=100/arrayl[i]; System.out.println("\t 正常:d二"+d); 1 catch(RuntimeException e) { ” System.out.println("\t 异常':"+e.toString()); } finally { System.out.println(H\t 异常处理结束! \n n); } } 运行该程序后,输岀结果如图所示: D:\JAVA\XT>java Exer6_3 正常:d=16 界常处理结朿!