《Java语言程序设计实验指导》电子教案 第07章.pptVIP

《Java语言程序设计实验指导》电子教案 第07章.ppt

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第7章 异常处理 异常是指程序在运行过程中的不正常情况。在不支持异常处理的计算机语言中,错误必须被手工检查和处理,这种方法既笨拙又麻烦。Java的异常处理机制则避免了这些问题,而且在处理过程中,把对运行时错误的处理以面向对象的方式解决。 7.1 异常处理基础 本节介绍Java中有关异常处理的基础知识,包括异常的概念、异常的类型、Java的内置异常等方面的内容。 7.1.1 关于异常处理 异常指的是程序运行时出现的非正常情况,也称为“例外”。在用传统的语言编程时,程序员只能通过函数的返回值来发出错误信息,这易于导致很多错误。Java对异常的处理是面向对象的。一个Java的Exception是一个描述异常情况的对象。当出现异常情况时,一个Exception对象就产生了,并放到产生这个“异常”的成员函数里。 Java异常(Exception)用于描述在代码段中发生的异常。当异常情况发生,一个代表该异常的对象被创建并在导致该错误的方法中被引发(throw)。该方法可以选择自己处理异常或传递该异常。两种情况下,该异常被捕获(caught)并处理。异常可能是由Java运行时系统产生,或者是由手工代码产生。被Java引发的异常与违反语言规范或超出Java执行环境限制的基本错误有关。手工编码产生的异常基本上用于报告方法调用程序的出错状况。 Java中的异常处理通过5个关键字进行控制:try、catch、throw、throws和 finally。下面是异常处理块的一般形式: 7.1.2 异常的类型 在“异常”类层次的最上层有一个单独的类叫做Throwable。这个类用来表示所有的异常情况。每个异常类型都是Throwable的子类。Throwable有两个直接的子类。一类是Exception,是用户程序能够捕捉到的异常情况。我们可通过产生它的子类来创建自己的异常。另一类是Error,它定义了那些通常无法捕捉到的“异常”。一般说来要谨慎使用Error子类,因为它们通常会导致灾难性的失败。在Exception中有一个子类RuntimeException,它是程序运行时自动地对某些错误作出反应而产生的。 另一类分支由Error作为顶层,Error定义了在通常环境下不希望被程序捕获的异常。Error类型的异常用于Java运行时系统来显示与运行时系统本身有关的错误。堆栈溢出是这种错误的一例。本章将不讨论关于Error类型的异常处理,因为它们通常是灾难性的致命错误,不是你的程序可以随意控制的。教材P175页图7-1显示了异常和错误的继承层次关系。 7.1.3 Java的内置异常 在标准包java.lang中,Java定义了若干个异常类。前面的例子曾用到其中一些。这些异常一般是标准类RuntimeException的子类。因为java.lang实际上被所有的Java程序引入,多数从RuntimeException派生的异常都自动可用。而且,它们不需要被包含在任何方法的throws列表中。Java语言中,这被叫做未经检查的异常(unchecked exceptions )。因为编译器不检查它是否处理或引发了这些异常。 java.lang中定义的未经检查的异常见教材P175页表7-1中所列。 教材P176页表7-2中列出了由 java.lang定义的必须在方法的throws列表中包括的异常,这些方法能产生其中的某个异常但是不能自己处理它,叫作受检查异常(checked exceptions)。Java定义了几种与不同类库相关的异常类型。 7.1.4 未被捕获的异常 在学习如何处理程序中的异常之前,让我们看一下如果不处理它们,将会有什么样的情况发生。下面的小程序包括一个故意导致被零除错误的表达式 class Exc0 { public static void main(String args[]) { int d = 0; int a = 42 / d; } } 当Java运行时系统检查到被零除的情况,它构造一个新的异常对象然后引发该异常。这导致Exc0的执行停止,因为一旦一个异常被引发,它必须被一个异常处理程序捕获并且被立即处理。该例中,我们没有提供任何我们自己的异常处理程序,所以异常被Java运行时系统的默认处理程序捕获。任何不是被你程序捕获的异常最终都会被该默认处理程序处理。默认处理程序显示一个描述异常的字符串,打印异常发生处的堆栈轨迹并且终止程序。 7.2 try和catch语句 尽管由Java运行时系统提供的默认异常处理程序对于调试是很有用的,但通常是希望自己处理异常。这样做有两个好处:第一,它允许你修正错误。第二,它防止程序自动终

文档评论(0)

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

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

1亿VIP精品文档

相关文档