- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
4 第三讲 异常
第三讲 异常、IO和递归 第4篇 17~19章 学习目标 Java异常的处理机制 Java异常的分类及其处理 捕获和抛出异常的使用 创建并抛出异常 自定义异常 为什么需要异常 软件程序肯定会发生错误/问题 Java的哲学之一:捕捉错误的最佳时刻是编译时刻,但不是所有的错误可以在编译时刻捕获,有些只能到程序运行时才能得到处理 以往需要由程序员完成的程序出错情况判别,在Java中改为由系统承担。通过系统抛出的异常,程序可以很容易地捕获并处理发生的异常情况。 为什么需要异常 Java异常处理的目的 提高程序的健壮性 可以在catch和finally代码块中给程序一个修正机会,使得程序不因异常而终止或者流程发生预期以外的改变 为程序的开发维护提供了方便 一般通过异常信息很快就能找到出现异常的问题(代码)所在 Java异常处理是Java语言的一大特色,也是个难点,掌握异常处理可以让写的代码更健壮和易于维护 什么是异常 Java程序运行过程中可能会发生两种错误 致命错误:错误(Error) 程序不能简单地恢复执行,无需程序员干预 例:内存空间不足、内存溢出等导致程序异常中断 非致命错误:异常(Exception) 程序在修正后可恢复执行,一部分系统自动处理,一部分程序员处理 例子:数组越界等导致程序中断执行、网络连接中断、打印设置忙碌中 什么是异常 异常是在程序运行过程中发生的异常事件,比如除0溢出、数组越界、文件找不到等,这些事件的发生将阻止程序的正常运行。为了加强程序的鲁棒性,程序设计时,必须考虑到可能发生的异常事件并做出相应的处理。 什么是异常 正常情况之外的一种“异常”。在问题发生的时候,我们可能不知具体该如何解决,但肯定知道已不能不顾一切地继续下去。此时,必须坚决地停下来,并由某人、某地指出发生了什么事情,以及该采取何种对策。 由于要强制捕获很多异常,开发者很难忽略他们的异常处理代码。这些异常就是我们常说的已检查异常(checked?exceptions) 什么是异常示例1 什么是异常示例2 什么是异常示例3 public class ExTest { public static void main(String[] args) { String friends[] = { lisa, bily, kessy }; for (int i = 0; i 5; i++) { System.out.println(friends[i]); } System.out.println(\nthis is the end); } } 最简单处理异常的方法 使用if-else分别处理正确的和错误的情况 优点:不需要其它机制 缺点:程序的可读性和可维护性很差 If else的缺陷 无法穷举所有的而一场情况,程序健壮性总是不够 错误处理代码和业务代码混杂,严重影响程序的可读性,增加程序维护的难度 17.1 异常概述 每一个异常就是jdk中某个类的对象,属于某个类的类型,这个对象由系统自动生成 Java中的异常类可分为两大类: Error Exception 它们都直接或间接地继承于Throwabel类 17.1 异常概述 异常分类 Error表示恢复不是不可能但很困难的情况下的一种严重问题。比如说内存溢出。不可能指望程序能处理这样的情况。 Exception表示一种设计或实现问题,即如果程序运行正常,从不会发生的情况。(由程序错误导致的异常)例如: 对负数开平方根 空指针访问 错误的数据类型等 Error类被认为是不能恢复的严重错误,如系统内部错误和资源耗尽错误等。不应该抛出这种类型的错误,而是让程序中断。 ------不是程序员的责任 Exception类定义可能遇到的轻微错误,分为派生自 RuntimeException 类的异常和非派生自RuntimeException类的异常。可以写代码来处理异常并继续程序执行,而不是让程序中断。 ------是程序员的责任 17.1 异常概述 Checked异常和Runtime异常体系 Java中凡是继承自Exception而不是继承自RuntimeException的异常类都是非运行时异常 凡是继承自RuntimeException的异常类都是运行时异常 两种异常的处理方式是不一样的 17.1 异常概述 17.2 异常处理机制 Java通过面向对象的方法来处理异常。 Java程序的执行过程中如出现异常,会自动生成一个异常类对象,该异常对象将被提交给Java运行时系统,这个过程称为抛出(throw)异常。 运行时系统在方法的调用栈中查找,从生成例外的方法开始进行回朔,直到找到包含相应例
您可能关注的文档
- 2014特殊疾病代码表.xls
- 2014考研郑君里《信号与系统》名校真题解析及典型题精讲精练.pdf
- 2015-2020年中国编码器市场深度评估及战略咨询报告.doc
- 2015-2020年中国编码器市场监测及投资战略研究报告.doc
- 2015—7.1城市内部空间结构和不同城市的等级服务.ppt
- 2015年南开大学考研电子信息与光学工程学院通信综合基础考试大纲.pdf
- 2015随机信号分析7.pdf
- 24-输入输出系统01.ppt
- 27周生产异常统计表.xls
- 2G基站告警代码描述与处理方法.pdf
- 人教版(2024)新教材八年级地理上册第四、五章《中国的经济发展》、《美丽健康中国》单元测试卷及答案(含两套题).doc
- 人教版(2024)新教材八年级地理上册第四章《中国的经济发展》每节课同步学习汇编(含四套题).docx
- 人教版(2024)新教材八年级地理上册第四章《中国的经济发展》每节课素养分层评价汇编(含四套题).docx
- 人教版(2024)新教材八年级地理上册第二章《中国的自然环境》每课时素养分层评价汇编(含八套题).docx
- 人教版(2024)新教材八年级地理上册第三章第一节《土地资源》素养分层评价.docx
- 人教版(2024)新教材八年级地理上册全册每章单元测试卷及答案汇编(含四套题).doc
- 2025年河北省秦皇岛市抚宁县某国企招聘工作人员若干人备考题库及参考答案详解1套.docx
- 2025年广西壮族自治区柳州市鱼峰区某国企招聘工作人员若干人备考题库及完整答案详解1套.docx
- 2025年浙江省丽水市遂昌县某国企招聘工作人员若干人备考题库附答案详解.docx
- 2025年江苏省徐州市新沂市某国企招聘工作人员若干人备考题库及完整答案详解1套.docx
文档评论(0)