- 1、本文档共17页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Java 程序设计 第八讲 Java异常和异常处理 华东师范大学 陈良育 * Outline 异常分类 异常处理 自定义异常 * 异常分类(1) 异常:程序不正常的行为或者状态。 int a = 5/0; 读取文件,结果该文件不存在 数组越界访问 异常处理 程序返回到安全状态 允许用户保存结果,并以适当方式关闭程序 异常分类(2) 异常分类(3) Throwable:所有错误的祖先 Error:系统内部错误或者资源耗尽。不管。 Exception: 程序有关的异常。重点关注。 RuntimeException: 程序自身的错误 5/0,空指针,数组越界… 非RuntimeException:外界相关的错误 打开一个不存在文件 加载一个不存在的类… 异常分类(4) Unchecked Exception : (未经编译器)检查异常,包括Error子类和RuntimeException子类。 非RuntimeException的Exception的子类: (已经编译器)检查异常,checked exception。 已检查异常: 编译器会检查程序是否为checked exception 配置了处理。如果没有处理,会报错。 异常分类(5) Checked Exception(非RuntimeException的Exception的子类),程序必须处理,以发生后处理为主。 Unchecked Exception中的RuntimeException子类,程序必须处理,以预防为主。 Error的子类,可以不用处理 异常处理(1) 异常处理 抓住异常,分析异常内容 允许用户保存结果 程序返回到安全状态 异常处理(2) Try—catch: 一种代码运行的保护机制。 常规的try-catch结构是以一个try块加上一个或者多个catch块组成。 当try块中的代码正常执行,没有发生任何异常,那么catch部分将不会被触发执行,相当于不存在。 看例子 异常处理(3) 当try模块中代码在运行时发生异常,代码的执行权将跳转到catch部分。 如果发生的异常类型和某一个catch块中的形参类型一致,那么将执行catch中的代码,然后退出整个try-catch结构(注意:并没有返回到try发生异常的地方,也不会执行后续的catch块)。 异常处理(4) Catch块的异常匹配是从上而下进行匹配的。 所以一般是将小的异常写在前面,而一些大(宽泛)的异常则写在末尾。 try-catch-finally结构。和try-catch结构相似,在try块中的代码发生异常,将跳转到catch块中执行,执行结束后会转到finally块执行。 若try块中无异常,则忽略catch模块,而finally块会接在try之后运行。 异常处理(5) finally里面也会发生异常,所以也可以在finally内部继续写try结构。 异常结构 try…catch(catch可以有多个,下同) try…catch…finally try…finally 异常处理(6) 方法存在可能异常的语句,但不处理,那么可以使用throws来声明异常。 调用带有throws异常(checked exception)的方法,需要处理这些异常,或者再次throws,直到main函数。 异常处理(7) 一个方法被覆盖,覆盖它的方法必须抛出相同的异常,或者异常的子类。 如果父类的方法抛出多个异常,那么重写的子类方法必须抛出那些异常的子集,也就是不能抛出新的异常。 自定义异常(1) Exception类是所有异常的父类。 Exception继承自java.lang.Throwable,同时它有一个兄弟Error。 Error是更严重的问题,一般是系统层面的,无需程序处理。 程序只需要处理Exception。 自定义异常(2) 自定义异常,需要继承Exception类。 自定义重点在构造函数 调用父类Exception的message构造函数 可以自定义自己的成员变量 throw主动抛出异常 * 谢 谢! * *
您可能关注的文档
- labview波形显示控件解析.ppt
- K脑和脊髓的血管解析.ppt
- LanSecS数据库安全防护系统解决方案解析.doc
- LanSecS(堡垒主机)内控管理平台技术白皮书解析.doc
- LANDesk桌面管理与安全解决方案解析.doc
- lecture 5 中国教育发展解析.ppt
- LanMan_C02_介质解析.ppt
- lecture_01_绪论及半导体基础知识解析.ppt
- LED光条简介解析.ppt
- LED封装工艺解析.ppt
- 河南省郑州市第一中学2017-2018学年高一下学期周测物理试题(325)扫描版含答案.doc
- 山西省怀仁县第一中学2017-2018学年高二下学期第一次月考生物试题扫描版.doc
- 河南省六市高三下学期第一次联考试题(3月)理科综合扫描版含答案.doc
- 四川省高三全国Ⅲ卷冲刺演练(一)文综地理试卷扫描版含答案.doc
- 河南省洛阳市高三第二次统考文综试卷扫描版含答案.doc
- 甘肃省靖远县高三下学期第二次联考理科综合试题扫描版含答案.doc
- 问题导学法在办公场景中的实施策略及效果评估.docx
- 退休后的个人品牌打造与传播策略.docx
- 问题解决在办公流程优化中的应用.docx
- 问题导向的办公环境创新设计.docx
最近下载
- 青岛嘉宝印刷包装公司员工手册.doc VIP
- 《Zbrush雕刻》课件——第二章_ZBrush界面与基础操作讲解.pptx VIP
- 人教版五年级数学下册全册教学课件(2024年春季版).pptx
- 《Zbrush雕刻》课件——第十一章_Mudbox操作讲解.pptx VIP
- 《雷火灸技术规范》.pdf VIP
- 《Zbrush雕刻》课件——第十章_场景贴图Mudbox软件介绍.pptx VIP
- 老年人健康管理案例分析.docx VIP
- 《Zbrush雕刻》课件——第八章_ZBrush烘焙贴图.pptx VIP
- 介绍新加坡课件.pptx
- 《Zbrush雕刻》课件——第七章_ZBrush雕刻躯干四肢.pptx VIP
文档评论(0)