AnjoyoJava06章节考试题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第六章考试题

一、选择题:(每题3分,共20题)

1.关于异常的含义,下列描述中最正确的一项是()。

A、程序编译或运行时发生的异常事件

B、程序语法错误

C、程序自定义的异常事件

D、程序编译错误

2.自定义异常时,可以通过对下列哪一项进行继承(A )。

A、Exception类及其子类

B、Applet类

C、AssertionError类

D、Error类

3.对应try和catch子句的排列方式,下列说法正确的一项是

(B )。

A、父类和子类不能同时出现在try语句块中

B、子类异常在前,父类异常在后

C、父类异常在前,子类异常在后

D、只能有子类异常

4.运行下面程序时,会产生的异常是( D )。

public class Test06_01 {

public static void main(String[] args) {

int x = 0;

int y = 5/x;

int[] z = {1,2,3,4};

int p = z[4];

}

}

A、ArrayIndexOutOfBoundsException

B、IOException

C、NumberFormatException

D、ArithmeticException

5.运行下面程序时,会产生的异常是(D)。

public class Test06_02 {

public static void main(String[] args) {

int[] z = {1,2,3,4};

int p = z[4];

int x = 0;

int y = 5/x;

}

}

A、NumberFormatException

B、ArithmeticException

C、IOException

D、

ArrayIndexOutOfBoundsException

6.下列程序执行的结果是()。

public class Test06_03 {

public static void main(String[] args) {

try{

return;

}

finally{

System.out.println("Finally");

}

}

}

A、编译通过,但运行时出现异常

B、因为没有catch子句,因此不能通过编译

C、程序正常运行,并输出Finally

D、程序正常运行,但不输出任何结果

7.下列代码中给出正确的在方法体内抛出异常的是()。

A、throw new Exception(" ");

B、throws IOException;

C、new throw Exception(" ");

D、throws IOException();

8.下列描述了Java语言通过面相对象的方法进行异常处理的好处,

请选出不在这些好处范围之内的一项()。

A、把错误处理代码从常规代码中分离出来

B、可以利用异常处理机制代替传统的控制流程

C、把各种不同的异常事件进行分类,体现了良好的继承性

D、这种机制对具有动态运行特性的复杂程序提供了强有力的支

9.下面关于try块说法错误的一项是()。

A、如果try块里的代码过于庞大,业务过于复杂,造成try块中

出现异常的可能性增大,从而导致分析异常原因会很麻烦。

B、当try块过于庞大的时候,就难免在try块后紧跟着大量的catch

块才可以针对不同异常提供不同的处理逻辑。

C、同一个try块后紧跟着大量catch块则需要分析它们之间的逻

辑关系,但不会导致程序的复杂性增加。

D、可以把大块的try块分割成多个可能出现异常的程序段落,并

把它们放在单独的try块中,从而分别捕获并处理异常。

10.下列关于自定义异常类描述有误的一项是( D )。

A、定义异常类时通常需要提供两种构造方法:无参数的构造方

法和带一个字符串的构造器,这个字符串将作为该异常对象的详细说明(也就是异常对象getMessage方法的返回值)。

B、在选择抛出什么异常时,应该选择合适的异常类,从而可以

明确描述该异常情况。

C、通常情况下,程序很少会自行抛出系统异常,因为异常的类

名通常包含了该异常的有用信息。

D、用户自定义异常都应该继承Exception基类,如果希望自定义

Runtime异常,则也应该继承Exception基类,利用Exception的printStackTrace()方法可以追踪异常出现的执行堆栈情况,并可以以此找到异常的源头。

11.下面关于过度使用异常说法错误的一项是()。

A、把异常和普通错误混淆在一起,不再编写任何错误处理代码,

而是以简单的抛出异常来代替所有错误处理,这会导致过度使用异常。

B、使用异常处理代替流程控制,这会导致过度使用异常。

C、异常处理机制的初衷是将不可预期异常的处理代码和正常的

业务逻辑代码分离,可以使用异常处理来代替正常的业务逻辑判断。

D、应该只对外部的、不能确定和预知的运行错误才使用异常。

12.下面关于抛出异常说法错误的一项是()。

A、一个方法应该抛出它可能碰到的重要的“已检查异常”和Error,

而对于“未检查异常”,应该通过程序来避免这种情况的发生。

B、如果一个现成的异常可以使用,则我们可以方便的自己来抛

出异常,找到一个合适的异常类。

C、如果一个现成的异常可以使用,则我们可以方便的自己来抛

出异常,实例化这个异常类。

D、如果一个现成的异常可以使用,则我们可以方便的自己来抛

出异常,抛出这个异常类对象。

13.下面关于使用throw抛出异常说法不正确的一项是()。

A、当程序出现错误的时候,系统会自动抛出异常。

B、当程序出现错误的时候,Java允许程序自行抛出异常。

C、throw语句可以单独使用,不需要和throws或者是try-catch

结构结合使用。

D、throw语句抛出的不是异常类,而是异常实例,而且每次只能

抛出一个异常实例。

14.下面关于try-catch-finally处理异常说法错误的一项是(D )。

相关文档
最新文档