- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第 8 章 异常处理 在本章中,我们将会学到: 8.1 异常(Exception) 8.1.1 什么是异常 程序错误包含两类:编译时错误和运行时错误。编译错误是指编译器在编译源文件时发现的代码问题;运行时错误是指程序代码无误,但运行过程中发生的不正常情况。这种在程序运行过程中发生的异常事件,简称异常(Exception)。比如数组下标越界,除数为0,文件无法找到等。为保证程序的健壮性,针对异常的处理工作就称为异常处理。 Java作为网络应用语言,保证服务器端应用程序的稳定性和健壮性是至关重要的,为了阻止这些异常的发生,Java在程序的健壮性方面做了很多工作,例如制作了完整的异常处理类机制。 8.1.2 异常类层次 Java的异常处理类层次如图所示: 类Throwable是所有错误类(Error)和异常类(Exception)的父类。 Error类及其子类由Java虚拟机生成并抛出,由系统接收并处理,程序员无法通过调整程序代码来避免这种错误,如VirtualMachineError,AWTError等。 Exception类是所有异常类的父类,其子类可分为两种:运行时异常(RuntimeException)和其它类型的异常。 其中运行时异常(RuntimeException)是程序运行过程中出现的问题,如:数组下标越界异常IndexOutOfBoundsException,数学异常ArithmeticException等。 除运行时异常之外的异常都称为其它类型异常。 Java的异常处理类层次如图所示: 部分异常简介如下: 8.1.3 异常处理的使用时机 在Java中规定,其它类型异常必须捕获处理;RuntimeException可以不做处理,也建议不做处理。看下例: 例8-1:从键盘上读入两个数,求他们的和 异常的使用时机: 1)如果是可以预料到的,通过简单的表达式修改或代码校验就可以处理好的,就不必使用异常(如运行时异常中的数组越界或除数为0),这是因为Java的异常都是异常类的对象,系统处理对象所占用的处理时间远比基本的运算要多得多(效率可能相差几百倍,乃至千倍),这也是为什么对RuntimeException建议不做处理的原因; 2)因为异常占用了JAVA程序的许多处理时间,简单的测试比处理异常的效率更高。所以,建议将异常用于你无法预料或无法控制的情况(如打开远程文件,可能会产生FileNotFoundException,而从外设读入数据,可能会产生IOException); 3)而Error类对象就不必处理,Error的实例是JAVA运行时环境(JVM)中的内部错误,通常是致命的,对它们你无法做太多的工作; 4)花费时间处理异常可能会影响你的代码的编写和执行速度,但在稍后的项目和在越来越大的程序中再次使用你的类时,这种额外的小心将会给你带来极大的回报(当然JAVA类库是小心编写的,它已经足够强壮)。 例8-1:从键盘上读入两个数,求他们的和 import java.io.*; public class IOExceptionDemo { public static void main(String[] args) { int n1,n2; //使用输入流,从键盘接收数据 BufferedReader br=newBufferedReader(new InputStreamReader(System.in)); System.out.println(Please input first Integer Number:); try{ n1=Integer.parseInt(br.readLine()); //从键盘接收第一个字符串 System.out.println(Please input second Integer Number:); n2=Integer.parseInt(br.readLine()); //从键盘接收第二个字符串 System.out.println(The sum is:+(n1+n2)); } catch(IOException e){ System.out.println(The Input is error!); } } } 【运行结果】 Please input first Integer Number: 3 Please input second Integer Number: 45 The sum is: 48 8.2 异常处理 8.2.1
您可能关注的文档
- 施工企业会计基础二版课件和答案习题集答案 2012.doc
- 施工组织各章教学要点第1章 绪论教学大纲.doc
- Delphi程序设计 高职软件专业 顾雯雯Delphi程序设计.pptx
- 施工组织各章教学要点第2章 建筑工程流水施工教学大纲.doc
- 施工组织各章教学要点第3章 网络计划技术教学大纲.doc
- DSP原理与实训指导—高职电子信息—喻宗泉第二章 数字信号处理的基本算法.ppt
- DSP原理与实训指导—高职电子信息—喻宗泉第六章 DSP实训.ppt
- 施工组织各章教学要点第5章 建筑工程安全文明施工教学大纲.doc
- 施工组织各章教学要点第6章 单位工程施工组织设计教学大纲.doc
- 施工组织各章教学要点第7章 施工组织总设计教学大纲.doc
- Java语言程序设计 高职软件专业 赵景晖 迟勇 课件第二章 Java数据类型.ppt
- 点击职业英语四册 新增部分答案Book 3 Unit 10 Orders.doc
- Java语言程序设计 高职软件专业 赵景晖 迟勇 课件第九章 GUI界面设计.ppt
- 点击职业英语四册 新增部分答案Book 3 Unit 11 Delivery and Payment.doc
- Java语言程序设计 高职软件专业 赵景晖 迟勇 课件第六章 接口与包.ppt
- 点击职业英语四册 新增部分答案Book 3 Unit 12 Business Entertainment.doc
- Java语言程序设计 高职软件专业 赵景晖 迟勇 课件第七章 数组与字符串.ppt
- Java语言程序设计 高职软件专业 赵景晖 迟勇 课件第三章 运算符与表达式.ppt
- Java语言程序设计 高职软件专业 赵景晖 迟勇 课件第十二章 IO技术与文件管理.ppt
- Java语言程序设计 高职软件专业 赵景晖 迟勇 课件第十三章 多线程.ppt
最近下载
- 社会责任审核培训课件.ppt VIP
- 2023年海南三亚市崖州区机关事业单位招考政府雇员储备库100人笔试参考题库(共500题)答案详解版.docx VIP
- 《房颤诊断和治疗中国指南(2023)》解读PPT课件.pptx VIP
- [三亚]2024年海南三亚市崖州区机关事业单位招考政府雇员储备库100人笔试历年参考题库频考点试题附带答案详解.docx VIP
- 科研人才队伍建设实施方案.doc VIP
- 神经系统的胚胎发育与生理.pptx VIP
- 海南三亚市崖州区机关事业单位招聘100名政府雇员冲刺卷一(附答案与详解).docx VIP
- You and Me (君と僕)松井佑贵 原版扫描谱 吉他谱 吉他指弹谱.pdf VIP
- 中华人民共和国监察法课件最终版.pptx VIP
- 监察法 教学课件.ppt VIP
原创力文档


文档评论(0)