题目 异常处理

题目 异常处理

  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{ ...... }

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

单选题\] \* 匿名子类(和子类有关的匿名类)的类体中不可以声明static成员变量和static方法 接口匿名类(和接口有关的匿名类)的类体中不可以声明static成员变量和static方法 匿名类一定是内部类 Java使用throws关键字抛出一个Exception的子类的实例表示异常发生(正确答案) 3. 下列哪个叙述是错误的? \[单选题\] \* try...catch语句可以由几个catch组成,分别处理发生的相应异常 一个方法在声明时可以使用throws关键字声明要产生的若干个异常 一个方法在声明时可以使用throw关键字声明要产生的若干个异常(正确答案) throw的作用就是抛出异常对象,throw和throws是两个不同的关键字 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. 对于已经被定义过可能抛出异常的语句,在编程时:(  ) \[单选题\] \* 必须使用try/catch语句处理异常,或用throws将其抛出(正确答案) 如果程序错误,必须使用 try/catch语句处理异常 可以置之不理 只能使用try/catch语句处理 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,则该异常可以不被声明(正确答案) 异常可以随便处理,而不是抛给外层的程序进行处理

相关推荐
风铃儿~22 分钟前
Spring AI 入门:Java 开发者的生成式 AI 实践之路
java·人工智能·spring
斯普信专业组28 分钟前
Tomcat全方位监控实施方案指南
java·tomcat
忆雾屿38 分钟前
云原生时代 Kafka 深度实践:06原理剖析与源码解读
java·后端·云原生·kafka
武昌库里写JAVA1 小时前
iview Switch Tabs TabPane 使用提示Maximum call stack size exceeded堆栈溢出
java·开发语言·spring boot·学习·课程设计
gaoliheng0061 小时前
Redis看门狗机制
java·数据库·redis
我是唐青枫1 小时前
.NET AOT 详解
java·服务器·.net
Su米苏1 小时前
Axios请求超时重发机制
java
本郡主是喵3 小时前
并发编程 - go版
java·服务器·开发语言
南风lof3 小时前
源码赏析:Java线程池中的那些细节
java·源码阅读