全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Chp11 异常异常异常异常 参考答案参考答案参考答案参考答案 1 参考答案 Java 中所有的错误都继承自 Throwable 类 在该类的子类中 Error 类表示严重的底层错误 对于这类错误一般处理的方式是 不处理 Exception 类表示例外 异常 2 参考答案 异常类 java rmi AlreadyBoundException 从分类上说 该类属于已检查异常 从处理方 式上说 对这种异常必须要处理 异常类 java util regex PatternSyntaxException 从分类上说 该类属于未检查异常 从处 理方式上说 对这种异常可处理可不处理 3 参考答案 public class TestThrow public static void main String args throwException 10 public static void throwException int n if n 0 抛出一个 NullPointerException throw new NullPointerException else 抛出一个 ClassCastException 并设定详细信息为 类型转换出错 throw new ClassCastException 类型转换出错 4 参考答案 n 1 时 输出 main1 ma1 mb1 Catch EOFException In finally main2 n 2 时 输出 main1 ma1 mb1 Catch IOException In finally main2 n 3 时 输出 main1 ma1 mb1 Catch SQLException In finally main2 n 4 时 输出 main1 ma1 mb1 Catch Exception In finally main2 n 5 时 输出 main1 ma1 mb1 mb2 ma2 In finally main2 注意 不论是否出现异常 出现什么异常 In finally 语句都会被打印出来 5 参考第 6 题答案 6 参考 TestMyException java 7 参考答案 MyException 类必须要继承自 Throwable 的某一个子类 class MyException class TestException public static void main String args ma public static int ma try m return 100 捕获 Exception 的语句应当放在所有 catch 语句的最后 catch Exception e System out println Exception catch ArithmeticException e System out println ArithmeticException 根据 MyException 是否继承自 RuntimeException 此处考虑是否声明抛出 public static void m throw new MyException 8 参考答案 1 处 A B 2 处 D 根据方法覆盖的要求 子类的覆盖方法不能比父类的被覆盖方法抛出更多的异常 ma 方法抛出 IOException 则子类可以抛出 IOException 也可以跑出 IOException 的子类 mb 方法没有跑出任何异常 则子类也不能抛出任何异常 9 A 由于 ma 方法声明抛出 Exception 因此在 main 方法中的 try 块必须有对 Exception 类型 处理的子句 10 A 当程序异常时 返回值为 1 而当程序正常时 返回值为 n 问题在于 n 是一个局部变 量 由于 try 块中的代码可能不会被执行 因此在 return 语句之前没有对 n 的赋值语句 这样就破坏了局部变量 先赋值 后使用 的要求 因此编译不通过 11 两次输出结果均为 100 由于 finally 语句块中的代码一定要执行 因此 最后返回值一定是 finally 语句块中的返 回值 12 当读入 10 时 输出为 ma1 ma2 1 In Finally 当读入 0 时 输出为 ma1 In Finally 13 不能编译通过 由于 MySub2 继承自 MySub 类 因此不能抛出比 MySub 中的方法更多 的异常 14 参考 TestException java 文件 15 程序输出的结果如下 main1 ma1 Catch SQLException in ma Catch Exception in main sql exception in mb 描述如下 首先 main1 和 ma1 是正常执行流程输出的结果 之后 ma 方法中调用 mb 方法 mb 方法抛出一个 SQLException 该异常被 ma 方法的 catch SQLException e 捕获 在 ma 的 catch 语句中 输出 Catch SQLException in ma 然后重新抛出一 个 IOException 注意 此时该异常向 ma 方法的调用者抛出 在 main 方法的 catch 语句中捕获到 ma 方法抛出的异常 因此输出 Catch Exception in main 之后输出异常的详细信息 sql exception in mb 16 A ma 方法中第二个输出语句 由于上一个语句是 throw 语句 因此第二个输出语句永远都 执行不到 因此编译出错 17 AB 在 1 处 由于 ma 方法声明有可能抛出 IOException 异常 因此 B 编译通过 由于 NullPointerException 异常是未检查异常 即使 ma 方法的 throws 语句中没有声明抛 出 调用时也有可能产生该异常 因此 A 编译通过 由于 SQLException 没有声明抛出 并且是已检查异常 因此在 1 处不可能捕获到该 类异常 因此 C 编译不通过 18 A 这个题目的难点在于 finally 语句中还套着一个 try finally 结构 对于外层的 try finally
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 危重病人的床旁疼痛评估
- 护理教学中的问题解决技巧
- 链家房地产销售顾问技能与面试全解析
- 护理沟通:建立良好护患关系
- 护理课件制作软件排行榜和使用教程
- 旅游行业供应链管理岗位面试全解析
- 六年级上册英语导学案-Module8 Unit2 I often go swimming|外研社(三起)(无答案)
- 零售业人力资源部经理面试手册
- 集体谈判技巧在销售合同中的应用
- 零售行业连锁店长招聘要点
- 2026四川宜宾发展产城投资有限公司及子公司第一批员工招聘35人考试参考试题及答案解析
- 幼儿园中班语言《春节是个百音盒》课件
- GJB3243A-2021电子元器件表面安装要求
- 《群书治要》原文及解读
- 《中建集团人才流失问题及对策分析案例【论文13000字】》
- 2019年春季新版教材教科版五年级下册综合实践活动教案
- JJF 1059.1-2012测量不确定度评定与表示
- 开关电源及其软开关技术
- 心肌细胞动作电位与心电图的关系
- 模板学困生转化讲座课件02
- 广州市房地产中介服务机构资质(备案)
评论
0/150
提交评论