第10章 Jaa异常处理.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第10章 Jaa异常处理

第10章 Java异常处理 在前面的程序中,我们都假设程序处于最完美的情况,用户永远都不会以错误的形式输入数据、他们选择打开的文件必然存在、代码永远都不会有错……但事实中并非如此。在现实世界中,肯定会存在错误的数据和错误的代码,所以必须掌握Java提供的异常处理(Exception Handle)机制,应付可能发生的问题。 10.1 Java编程中的错误 错误是编程中不可避免和必须要处理的问题,编程人员和编程工具处理错误能力在很大的程度上影响着编程工作的效率和质量。一般来说错误分为编译错误和运行错误两种。 10.1.1 编译错误 编译错误是由于编写的程序存在语法问题,未能通过源代码到目标码(在Java语言中是由源代码到字节码)的编译过程产生的,它由语言的编译系统负责检测和报告。 每种计算机高级语言都有自己的语言规范,编译系统就根据这个规范来检查编程人员所书写的源代码是否符合规定。有的高级语言的语法规定得比较严格,如FORTRAN语言,对程序的格式有严格的要求;有的语言则给编程人员很大的自由度,如C语言,程序可以写得很灵活,使编程者可充分发挥他们的技巧和能力。Java语言,由于是定位于网络计算的安全性要求较高的语言,它的语法规范设计得比较全面,相对于C语言增加了不少规定。例如,数组元素下标越界检查,检查对未开辟空间对象的使用等。由于更多的检查工作由系统自动完成,可以减少编程者的设计负担和程序中隐含的错误,提高初学者编程的成功率。大部分编译错误是由于对语法不熟悉或拼写失误引起的,例如在Java语言中规定需在每个句子的末尾使用分号、标识符区分大小写,如果不注意这些细节,就会引发编译错误。由于编译系统会给出每个编译错误的位置和相关的错误信息,所以修改编译错误相对较简单;但同时由于编译系统判定错误比较机械,在参考它所指出的错误地点和信息时应灵活地同时参照上下文其它语句,将程序作为一个整体来检查。 没有编译错误是一个程序能正常运行的基本条件,只有所有的编译错误都改正了,源代码才可以被成功地编译成目标码或字节码。 10.1.2 运行错误 一个没有编译错误的可执行的程序,距离完全正确还有一段距离,这是因为排除了编译错误,程序中可能还存在着运行错误。 运行错误是在程序的运行过程中产生的错误。根据性质不同,运行错误还可以分为系统运行错误和逻辑运行错误。 系统运行错误是指程序在执行过程中引发了操作系统的问题。应用程序是工作在计算机的操作系统平台上的,如果应用程序运行时所发生的运行错误危及操作系统,对操作系统产生损害,就有可能造成整个计算机的瘫痪,例如死机、死循环等。所以不排除系统错误,程序就不能正常地工作。系统运行错误通常比较隐秘,排除时应根据错误的现象,结合源程序仔细判断。例如,出现了死循环,就应该检测源程序中的循环语句和中止条件;出现死机,就应该检测程序中的内存分配处理语句等。 排除了系统运行错误,程序就可以顺利执行了,却仍然不代表它已经毫无问题了,因为程序中还有可能存在着逻辑运行错误。逻辑运行错误是指程序不能实现编程人员的设计意图和设计功能而产生的错误,例如排序时不能正确处理数组头尾的元素等。有些逻辑运行错误是由于算法考虑不周引起的,也有些则来自编码过程中的疏忽。 排序运行错误,包括系统运行错误和逻辑运行错误时,一个非常有效和常用的手段是使用开发环境所提供的单步运行机制和设置断点功能来分析程序运行过程,使之在人为的控制下边调试边运行。在设计过程中,调试者可以随时检查变量中保存的中间量,设置临时运行环境,一步步地检查程序的执行过程,从而挖出隐藏的错误。 10.2 异常与异常类 10.2.1 异常类结构与组成 异常(Exception),又称为例外,是特殊的运行错误对象,对应着Java语言特定的运行错误处理机制。为了能够及时有效地处理程序中的运行错误,Java中引入了异常和异常类。作为面向对象的语言,异常与其它语言要素一样,是面向对象规范的一部分,是异常类的对象。 Java中定义了很多异常类,每个异常类都代表了一种运行错误,类中包含了该运行错误的信息和处理错误的方法等内容。每当Java程序运行过程中发生一个可识别的运行错误时,即该错误有一个异常类与之相对应时,系统都会产生一个相应的该异常类的对象,即产生一个异常。一旦一个异常对象产生了,系统中就一定要有相应的机制来处理它,确保不会产生死机、死循环或它对操作系统的损害,从而保证了整个程序运行的安全性。这就是Java的异常处理机制。 Java的异常类是处理运行时错误的特殊类,每一种异常类对应一种特定的运行错误。所有的Java异常类都是系统类库中的Exception类的子类。其继承的结构图如图10-1所示。 图10-1 Exception类部分结构 在异常类层次的最上层有一个单独的类叫做T

文档评论(0)

yaoyaoba + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档