- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Java教案8-异常处理
第 8 章 异 常 处 理 第 1 节 异常 一、基本概念 程序中的错误: 编译错误 由于所编写的程序存在语法问题,未能通过由源代码到目标代码的编译过程而产生的错误。它将由语言的编译系统负责检测和报告。 运行错误 在程序的运行过程中产生的错误。 异常是在程序运行中导致程序终止运行的事件。如要求程 序执行以零为除数的除法,要求程序访问数组下标范围以外 的数组元素,要求访问空对象内的信息或文件找不到等。为 了加强程序的健壮性我们希望发生了错误之后,能将程序从 出错状态转移到一个安全状态,使得系统能够恢复控制权。 或者正常的结束程序的运行并保存数据。Java处理异常的核 心任务是将系统的控制权从发生错误的指令处转移到错误处 理的地方。 可见,一个好的应用程序,除了具备用户要求的功能外,还 要求能预见程序执行过程中可能产生的各种异常,并把处理 异常的功能包括在用户程序中。 二、Java进行异常处理的大致过程 在Java中,是用面向对象的方法来处理异常的。 在一个方法的运行过程中,如果发生了异常,则这 个方法生成代表该异常的一个对象,并把它交给运行时 系统,运行时系统寻找相应的代码来处理这一异常。我 们把生成异常对象并交给运行时系统的过程称为抛出一 个异常(throw)。运行时系统在方法的调用栈中查找, 从生成异常的方法开始回溯,直到找到包含相应异常处 理的代码为止,这一过程称为捕获一个异常(catch) (如果没有找到相应异常处理的方法,则运行时系统将 终止程序的运行) 。 如果一个方法本身能抛出异常,当所调用的方法出现异常时,调用者可以捕获异常使之得到处理;也可以回避异常,这时异常将在调用的堆栈中向下传递,直到被处理。 三、Java异常处理机制的优点 异常错误处理代码与代码分离; 异常处理把错误报告给方法调用堆栈; 异常处理把错误按类型分类; 由于把异常事件当成对象来处理,利用类的层次性我们可以把多个具有相同父类的异常统一处理,也可以区分成不同的异常分别处理,非常灵活。 四、 Throwable类及其子类 类Throwable位于异常处理类层次的最顶层,只有它的后代可以作为一个异常被抛出; 类Throwable有两个直接子类:Error和Exception。其中: Error类对象由JVM抛出,如系统内部错误或资源短缺等,所以不必对这类异常进行处理; Exception类对象由Java程序抛出并处理。它有各种不同的子类分别对应于不同类型的异常,其中 类RuntimeException的对象代表运行时由JVM生成的异常,如ArithmeticException、ArrayIndexOutOfBoundsException异常等。 其它则为非运行时异常,如IOException等。 可见,Exception 类对象由应用程序处理或抛出。另外Java 编译器要求Java程序必须捕获或声明所有非运行时异常。 Exception 类的主要方法 public Exception( ); public Exception(String s); public String toString( ); public String getMessage( ); //返回描述异常的详细信息 第 2 节 异常处理 异常处理的种类: 对运行时异常可以不做处理,由Java虚拟机自动进行处理; 使用Try-catch-finally语句捕获处理; 通过throws子句声明抛弃异常; 定义自己的异常类,并用throw 语句抛出。 1、运行时异常 运行时异常是由Java运行时系统在程序的运行过程中检测到的。它可能在程序的任何部位发生,而且其数量可能很大,因此Java编译器允许程序不对它进行处理。这时,Java系统会把生成的运行时异常对象交给缺省的异常处理程序,在标准输出设备上显示异常的内容以及发生异常的位置。例如P177-例8-1 又例如: class ArrayOutOf { public static void main(String[ ] args) { char[ ] buf = {a, b, c}; int i; for (i = 0; i buf.length; i++) System.out.println(buf[i]); System.out.println(buf[i]); } } 结果: a b
您可能关注的文档
最近下载
- 标准图集-20S515-钢筋混凝土及砖砌排水检查井.pdf VIP
- 开利VRV空调样册B-XCT-38VP-202106-02.pdf VIP
- 天行山海一期工程(施工)招标文件.pdf VIP
- 2025中数联物流运营有限公司招聘商务拓展、投标岗、数字化规划、综合组员工等社招岗位笔试参考题库附答案解析.docx VIP
- DIY烟油配方整理.xlsx VIP
- 专业品质舒适到家-开利空调.pdf VIP
- 2025中数联物流科技(上海)有限公司招聘笔试备考试题及答案解析.docx VIP
- 2025中国数联物流纪委办公室、巡视办公室相关岗位招聘笔试模拟试题及答案解析.docx VIP
- 江苏省淮安市洪泽区洪泽外国语中学2024-2025学年九年级下学期3月月考语文试题(原卷版+解析版).docx VIP
- 2026年护士护理个人工作计划(三篇).pdf VIP
原创力文档


文档评论(0)