知识单元四 异常处理

简介: 知识单元四 异常处理

1. 类Parent、Child定义如下:

public class  Parent

{ public  float  aFun(float a, float b)  throws

 IOException {  ……  }

}

public  class  Child  extends  Parent{

} 将以下哪种方法插入行6是不合法的。(  ) [单选题] *

float aFun(float a, float b){…… }(正确答案)

public int aFun(int a, int b)throws Exception{ ……}

public float aFun(float p, float q){ ……}

public int aFun(int a, int b)throws IOException{ …… }

2. 下列哪个叙述是错误的?

[单选题] *

匿名子类(和子类有关的匿名类)的类体中不可以声明static成员变量和static方法

接口匿名类(和接口有关的匿名类)的类体中不可以声明static成员变量和static方法

匿名类一定是内部类

Java使用throws关键字抛出一个Exception的子类的实例表示异常发生(正确答案)

3. 下列哪个叙述是错误的?

[单选题] *

try…catch语句可以由几个catch组成,分别处理发生的相应异常

一个方法在声明时可以使用throws关键字声明要产生的若干个异常

一个方法在声明时可以使用throw关键字声明要产生的若干个异常(正确答案)

throw的作用就是抛出异常对象,throwthrows是两个不同的关键字

4. 必须要对出现的异常进行处理,否则不能运行的异常类是( )

[单选题] *

Exception

Error

RuntimeException

Exception类中的非RuntimeException(正确答案)

5. 下面关于Java中异常处理try块的说法不正确的是( )

[单选题] *

try块后通常应有一个catch 块,用来处理try块中抛出的异常。

catch 块后可以没有finally

可能抛出异常的方法调用应放在try块中

对抛出的异常的处理必须放在try块中(正确答案)

6. 以下关于java异常说法不正确的是( )。

[单选题] *

Throwable 类是 Java 语言中Error类和Exception类的父类

当异常对象是Exception类(或其子类)的实例时,能通过 Java 虚拟机或者 throw 语句抛出该异常对象,并能通过try…catch…finally处理

如果只用一个catch块捕捉多个异常对象,则catch 子句中的参数类型应是所有异常对象的父类(正确答案)

以上说法都不对

7. 对于已经被定义过可能抛出异常的语句,在编程时:(  )

[单选题] *

必须使用trycatch语句处理异常,或用throws将其抛出(正确答案)

如果程序错误,必须使用 trycatch语句处理异常

可以置之不理

只能使用trycatch语句处理

8. 所有的异常和错误类皆继承哪一个类?( ) [单选题] *

java.io.Exception

java.lang.Throwable(正确答案)

java.lang.Exception

java.lang.Error

9. getCustomerInfo()方法如下,try中可以捕获三种类型的异常,如果在该方法运行中产生了一个IOException,将会输出什么结果()

public void getCustomerInfo() {

try { // do something that may cause an Exception

} catch (java.io.FileNotFoundException ex) {

System.out.print(""FileNotFoundException!"");

} catch (java.io.IOException ex) {

System.out.print(""IOException!"");

} catch (java.lang.Exception ex) {

System.out.print(""Exception!"");

} } [单选题] *

IOException!(正确答案)

IOException!Exception!

FileNotFoundException!IOException!

FileNotFoundException!IOException!Exception!

10. 程序读入用户输入的一个值,要求创建一个自定义的异常,如果输入值大于10,使用throw语句显式地引发异常,异常输出信息为"something wrong!",语句为()。 [单选题] *

A. if (i>10) throw Exception("something wrong!");

B. if (i>10) throw Exception e ("something wrong!");

C. if (i>10) throw new Exception("something wrong!");(正确答案)

D. if (i>10) throw new Exception e ("something wrong!");

11. 分析下列Java代码:

class A{

public static void main(String[ ] args){

method( );

}

static void method( ){

try{

System.out.println("Hello");

System.exit(0);

}finally{

System.out.println("good-bye");

}

}

}

编译运行后,输出结果是( )

[单选题] *

A. Hello(正确答案)

B. good-bye

C. Hello \n good-bye

D. 代码不能编译

12. 在Java 中,假定有一个包含引起异常(不是一个RuntimeException)的代码的方法,用什么方式告诉方法的调用者要捕获该异常。() [单选题] *

A. throw Exception

B. throws Exception(正确答案)

C. new Exception

D. 不用特别指定

13. 研究下面的Java代码:

public class testException{

public static void main(String[ ] args){

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

int sum=0;

try{

for(int i=1;i<6;i++)

sum=sum+a[i];

System.out.println("sum=" + sum);

}catch(ArrayIndexOutOfBoundsException e){

System.out.println("数组越界");

}finally{

System.out.println("程序结束");

}

}

}

输出结果将是( )。

[单选题] *

A. 10 数组越界\n 程序结束

B. 10 程序结束

C. 数组越界 \n 程序结束(正确答案)

D. 程序结束

14. 下列说法正确的是() 多选 *

try块不可以省略(正确答案)

可以使用多重catch(正确答案)

finally块可以省略(正确答案)

catch块和finally块可以同时省略

15. 给出下面的不完整的方法

1

2 { success = connect();

3 if (success==-1) {

4 throw new TimedOutException();

5 }

6 }

已知TimedOutException 不是一个RuntimeException。下面的哪些声明可以被加入第一行完成此方法的声明( )

*

public void method()

public void method() throws Exception(正确答案)

public void method() throws TimedOutException(正确答案)

public void method() throw TimedOutException

16. 关于异常(Exception),下列描述正确的是( ) *

异常的基类为 Exception,所有异常都必须直接或者间接继承它

异常可以用 try{ . . .}catch(Exception e){ . . .}来捕获并进行处理(正确答案)

如果某异常继承 RuntimeException,则该异常可以不被声明(正确答案)

异常可以随便处理,而不是抛给外层的程序进行处理

目录
相关文章
|
5月前
|
存储 算法 编译器
C++ 异常机制问题之Dwarf CFI是什么
C++ 异常机制问题之Dwarf CFI是什么
|
7月前
|
NoSQL 测试技术 C++
C++的异常处理及错误调试技巧
C++的异常处理及错误调试技巧
90 0
|
存储 Java
知识单元二 Java编程基础(一)
知识单元二 Java编程基础
94 0
|
机器学习/深度学习 人工智能 Java
知识单元二 Java编程基础(二)
知识单元二 Java编程基础(二)
91 0
|
C++
【C++异常机制】栈解旋
【C++异常机制】栈解旋
114 0
【C++异常机制】栈解旋
|
SQL Java 编译器
java异常分类,异常处理,面试中常见异常问题!
java异常分类,异常处理,面试中常见异常问题!
198 0
java异常分类,异常处理,面试中常见异常问题!
|
C++
【C++异常机制】
【C++异常机制】
61 0
|
监控 Java
Java异常——概念
Java异常——概念
109 0
|
开发者 Python
Python语法之异常处理
前面我们已经介绍了模块的创建和包的应用,在这一小节,我们将继续来学习Python的异常处理方法,了解常见异常的处理方法以及异常的基本概念。
|
Java 编译器 数据库
Java面向对象——异常
Java面向对象——异常
119 0
Java面向对象——异常