频道栏目
首页 > 资讯 > JAVA > 正文

java考试题库及答案(9)

16-06-17        来源:[db:作者]  
收藏   我要投稿
  下列程序中在oneMethod()方法运行正常的情况下将显示什么?说出理由。

  (A D)

  public viod test(){

  try {oneMethod();

  System.out.println(“情况1”);

  } catch (ArrayIndexOutofBoundsException e){

  System.out.println(“情况2”);

  } catch (Exception e){

  System.out.println(“情况3”);

  } finally{

  System.out.println(“finally”);

  }

  }

  A.情况1 B.情况2 C.情况3 D.finally

  解:如果try子句中的语句在执行时发生异常,则执行从该处中断而进入catch块,根据异常的类型进行匹配,最前面的优先进行匹配比较,只要该异常是catch中指定的异常的子类就匹配成功进而执行相应的catch中的内容,而finally块中的内容无论是否发生异常都将被执行。

  因为try子句中的语句在执行时正常,所以将显示选项A与选项D的内容。

  给出下列不完整的方法:

  1)

  2){ success = connect();

  3)if (success = -1) {

  4) throw new TimedOutException();

  5) }

  6)}

  TimedOutException不是一个RuntimeException运行时异常类。下面的哪些声明可以被加入第一行完成此方法的声明?说明理由。 (B C)

  A. public void method()

  B. public void method() throws Exception

  C. public void method() throws TimedOutException

  D. public void method() throw TimedOutException

  E. public throw TimedOutException void method()

  解:如果程序在运行的过程中抛出异常,而这个异常又不是RuntimeException或者Error,那么程序必须捕获这个异常进行处理或者声明抛弃(throws)该异常,捕获异常可以使用try{}catch(){}语句,而抛弃异常在方法声明时声明,可在方法的声明后面加上throws XxxxException,抛弃多个异常时在各异常间使用逗号(,)分隔。

  题目中的程序在运行时抛出的不是一个RuntimeException,所以必须捕获或者抛弃,而程序有没有捕获,所以应该在方法声明时声明抛弃。由于Exception是所有异常的父类,所以当然也可以代表TimeOutException了,选项B和C都是可以的。

相关TAG标签
上一篇:java考试题库及答案(10)
下一篇:java考试题库及答案(8)
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站