(48)-9.2 异常处理模型_第1页
(48)-9.2 异常处理模型_第2页
(48)-9.2 异常处理模型_第3页
(48)-9.2 异常处理模型_第4页
(48)-9.2 异常处理模型_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

异常处理学习目标掌握异常处理模型:声明、抛出、捕获异常。了解多捕获异常简化代码掌握从异常对象中获取信息了解重新抛出异常掌握finally子句理解何时使用异常知识图谱异常处理模型异常处理模型Java的异常处理模型基于三种操作:声明一个异常(declareanexception),抛出一个异常处理(throwanexception),捕获一个异常(catchanexception)。异常模型图声明异常声明异常声明异常使用关键字throws语法:在方法头声明[修饰符]返回值类型

方法名([参数列表])throwsExceptionl[,Exception2,…,ExceptionN]{...}注意:如果方法没有在父类中声明异常,那么就不能在子类中对其进行继承来声明异常。抛出异常检测到错误的程序可以创建一个合适的异常类型的实例并抛出它,这就称为抛出一个异常。语法:thrownewExceptionType(arguments)注意:声明异常的关楗字是throws,抛出异常的关键字是throw。抛出异常捕获异常用try-catch块捕获和处理异常语法。捕获异常捕获异常调用栈方法调用过程发生异常发生Exception2异常捕获调用栈方法调用过程捕获异常发生Exception1异常捕获调用栈方法调用过程捕获异常发生Exception0异常捕获调用栈方法调用过程捕获异常在JDK版本7以上,对于使用同样的处理代码处理多个异常的情况,可以使用多捕获特征简化异常的代码编写。语法是:

catch(Exception1|Exception2丨…丨Exceptionkex){//异常处理代码

}注意:Exception1...Exceptionk,任何两个不能互为父子关系。多捕获异常简化代码Java强迫程序员处理必检异常。从一个通用的父类可以派生出各种异常类。如果一个catch块可以捕获一个父类的异常对象,它就能捕获那个父类的所有子类的异常对象。在catch块中异常被指定的顺序是非常重要的。如果父类的catch块出现在子类的catch块之前,就会导致编译错误。如果一个方法声明了异常,就必须在调用该方法的语句处用try-catch块处理它,或者在调用它的方法中声明抛出异常。捕获异常注意事项从异常对象中获取信息java.lang.Throwable+StringgetMessage()返回描述该异常对象的信息。+StackTraceElement[]getStackTrace()返回和该异常对象相关的代表堆栈跟踪的一个堆栈跟踪元素的数组。+voidprintStackTrace()在控制台上打印Throwable对象和它的调用堆栈信息。StringtoString()返回三个字符串的连接:(

1)异常类的全名;(2)一个冒号;(3)getMessage(方法)。…...从异常对象中获取信息finally子句无论异常是否产生,finally子句总是会被执行的。即使在到达finally块之前有一个return语句,finally块还是会执行。语法:finally子句在任何情况下,finally块中的代码都会执行,不论try块中是否出现异常或者是否被捕获。考虑下面三种可能出现的情况:如果try块中没有出现异常,执行完try块中的语句,再执行finalStatements,然后执行try-catch块后面的语句statementm。如果try块中有一条语句引起异常,并被catch块捕获,然后跳过try子句的其他语句,执行匹配的catch子句和finally子句。再执行try-catch块后面的statementm语句。如果try块中有一条语句引起异常,但是没有被任何catch块捕获,就会跳过try块中的其他语句,执行finally子句,并且将异常传递给这个方法的调用者。finally子句重新抛出异常如果异常处理器不能处理一个异常,或者只是简单地希望它的调用者注意到该异常,Java允许该异常处理器重新抛出异常。语法:重新抛出异常何时使用异常当错误需要被方法的调用者处理的时候,方法应该抛出一个异常语法。一个项目中多个类都会发生的共同异常应该考虑作为一种异常类。对于发生在个别方法中的简单错误最好进行局部处理,无须抛出异常。当必须处理不可预料的错误状况时应该使用try-catch块处理异常;不要用try-catch块处理简单的、可预料的情况。如不要把异常处理用作简单的逻辑测试。何时使用异常学生成绩管理,处理一个学生对象的成绩,输入学生成绩,以#号结束,成绩范围为[0-100],计算学生的总分与平均分。要求:应用异常机制舍弃成绩的无效输入,保证程序的源码:jufe.c

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论