- 1
- 0
- 约5.86千字
- 约 49页
- 2019-07-17 发布于辽宁
- 举报
学习情境十一 异常 ;知识目标
理解什么是异常以及异常的处理机制;
理解各种异常的意义;
理解为什么要使用自定义的异常。
能力目标
能够正确使用try/catch/finally组合语句捕捉并处理异常;
能够正确使用throws语句传递异常;
能够正确使用throw语句抛出异常;
能够正确定义自定义的异常,并能够正确使用自定义异常。;情景再现与任务分析;Java语言中使用异常的好处有:
错误处理代码和正常处理代码分开。减少了代码的数量,同时增加了程序的可读性;
把各种不同的异常事件进行分类,体现了良好的层次性,提供了良好的接口;
异常事件可以沿着调用栈自动向上传播,可以在适当的方法中被捕捉处理。也就是说,允许我们在一个地方将精力集中在要解决的问题上,然后在另一个地方处理来自那个代码内部的错误。;四个任务;任务一 认识Java语言的异常;运行时系统为每个运行中的应用程序产生一个调用栈,它是这个应用程序中已经被调用的方法列表,按照方法的调用顺序进行排列。图11-1是调用栈的示意图。;运行时系统在调用栈中搜索能处理这个异常的方法,因为这些方法中包含有处理这个异常的代码。这些代码块就称为异常处理器。搜索工作从方法中发生错误的地方开始,沿着调用栈中调用方法相反的顺序往上搜索。当找到某个适当的异常处理器时,运行时系统就把这个异常对象传递给这个异常处理器。如果某个异常处理器所能处理的类型与抛出的异常对象的类型匹配,那么它就是那个适当的异常处理器。;找寻异常处理器的过程称为捕捉异常。如果运行时系统在调用栈中没有找到适当的异常处理器,如图11-2所示,那么应用程序就会结束运行。;【例11-1】一个产生异常情况的程序;【例11-2】添加了异常处理的应用程序;【例11-3】演示调用栈。;任务二 处理异常;1. 处置异常的两种方式;比喻:例如,班级中两个同学吵架。对这样的异常事件,有两种处理方式:
班级内部处理;
不在班级内部处理,上报到更高一级单位(例如,上报到系里面)。;2. 异常的类型;Throwable类有两个直接子类:
Error类
Exception类
Throwable、Error和Excepion类都位于java.lang包中
RuntimeException是Exception的一个子类,Java对RuntimeException类进行特别处理
Throwable类之所以派生出这么多子类,是为了用它们来识别程序执行期间所产生的各种类型的异常。根据程序对异常的处理方式,异常被分成3种。;1)已经检查的异常(checked exception);类名;如果某个方法中有可能抛出已经检查的异常,那么对于该方法而言,要么必须使用try/catch/finally组合语句捕捉并处理异常,要么必须使用throws子句把异常传递出去。否则,源程序不能被编译成功。已经检查的异常就是在编译阶段必须进行检查的异常。
如果使用Eclipse集成环境来编写Java程序,在编写过程中就能经常看见Eclipse提示的错误信息。这些错误信息大部分都能在表11.2中查到。;2)Error异常;3)运行时异常,即RuntimeException以及子类所异常;类名;Error异常和RuntimeException异常统称为未检查的异常(unchecked exceptions)。
如果某个方法内部只产生未检查的异常,那么对于这个方法而言,既不需要在方法内部使用try/catch/finally组合语句来捕捉并处理异常,也不必在定义的时候使用throws子句来传递异常。
ArithmeticExceptions是一种RuntimeException异常,这是未检查的异常。例11-1程序对这个异常不做任何处理,而例11-2程序使用try/catch/finally组合语句对这个异常做了适当的处理。;3. 捕捉并处理异常编程(try/catch/finally组合语句);1)try语句块是一个警戒区域,如果某些代码可能产生异常,并且这些异常要在方法内部被捕捉处理,那么这些代码就必须放在这个区域内。try语句块不能单独存在,必须和catch语句块或者finally语句块共存。
2)catch语句块必须紧跟在try语句块后面,捕捉try语句块中抛出的特定的异常并进行处理。catch语句块也不能单独存在,必须依附在某个try语句块后面。catch关键字后面的括号中用一个参数来标识所要捕捉的异常类型。由于try语句块中可能抛出各种异常,因此同一个try语句块后面可以按一定的顺序接上多个的catch语句块。如果try语句块中抛出的某个异常的类型与某个catch语句块要捕捉的异常类型匹配,那么这个异常就被这个catch语句块捕捉,其中的代码就会被执行。;3)finally语句块中也必须
您可能关注的文档
最近下载
- 学生退学家长知情同意书.docx VIP
- 计算机应用基础教程(Windows10+Office2016)PPT全套完整教学课件.pptx VIP
- 2024年江苏农牧科技职业学院高职单招职业技能测验历年参考题库(频考版)含答案解析.docx
- Unit 2 课时2 Section A (2a-2e) 教学设计-八年级英语上册.docx VIP
- 慢阻肺病标准化筛查问卷、Borg CR10 评分表.docx VIP
- 招标代理服务方案.docx VIP
- AD832I机台操作指引.pdf VIP
- 2019版《普速铁路线路修理规则》(可编辑修改word版).pdf VIP
- KK_Mixly_V3四轴飞行器教程——算法篇.docx VIP
- 河南大学研究生学位论文基本要求与书写格式的.docx VIP
原创力文档

文档评论(0)