Java语言程序设计 (10).ppt

  1. 1、本文档共29页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第10章 Java异常处理 第10章 Java异常处理 编写程序不能保证百分之百的通过编译,在编译通过之后也不能保证百分之百地正确运行,往往会因为环境变化、数据差异等因素带来各种运行错误,这是用户、程序员都不希望看到的,但又是不可避免的. 那么有没有比较好的机制来解决这个问题呢? 答案是肯定的,那就是采用异常处理机制。本章将介绍Java语言中异常处理的有关知识和方法。 10.1 Java的异常 异常(Exception)是指在程序的运行过程中所发生的错误,它中断指令的正常执行。 Java中提供了一种独特的处理异常的机制,通过异常来处理程序设计中出现的错误。 10.1 Java的异常 10.1.1 常见异常 在Java程序的建构和执行过程中,可能发生两类错误:编译时期的错误和执行时期的错误。 前者通常是程序代码本身的问题,如关键字拼写错误,或是Java语句之间缺少必要的分号,或是错误使用汉字标点符号等。 而后者是指程序中数据的计算逻辑存在错误。 10.1 Java的异常 10.1.1 常见异常 说明:代码产生的错误属于Java运行时期的错误,错误的原因在于除数为0。由于程序中没有对其进行适当的处理,因此Java发现这个错误之后,由系统抛出ArithmeticException这类提示信息,用来表明错误的原因,并终止程序运行。 10.1 Java的异常 10.1.1 常见异常 类似的错误还有:数组的下标越界、输入的数据不合法等。 此类错误的处理就是本章研究的内容。 10.1 Java的异常 10.1.2 异常的基本概念 在Java程序中,异常一般由两种原因引起。 一种是程序中存在非法操作。 另一种是程序员在程序中使用了throw语句引起的异常。这种异常是程序员出于某种考虑有意安排的,所以称为显式异常。 10.1 Java的异常 10.1.2 异常的基本概念 Java语言采用异常处理机制来处理程序运行中的错误。 按照这种机制,将程序运行中的所有错误都看成是一种异常,通过对语句块的检测,一个程序中所有的异常被收集起来放在程序的某一段中处理。 10.1 Java的异常 10.1.3 异常处理机制 Java语言的异常处理机制:首先将各种错误信息对应划分为若干异常类,在执行某个Java程序过程中,运行时系统随时对它进行监控,若出现不正常的情况,就会生成一个异常对象,而且会传递给运行时系统。 这个产生和提交异常的过程称为抛出异常。 10.1 Java的异常 10.1.3 异常处理机制 1. 抛出异常 在Java程序的执行过程中,如果出现了异常事件,就会生成一个异常对象。 生成的异常对象将传递给Java运行时系统,这一异常的产生和提交过程称为抛出(throw)异常。 10.1 Java的异常 10.1.3 异常处理机制 2. 捕获异常 当Java运行时系统得到一个异常对象时,它将会沿着方法的调用栈逐层回溯,寻找处理这一异常的代码。 找到能够处理这种类型的异常的方法后,运行时系统把当前异常对象交给这个方法进行处理,这一过程称为捕获(catch)异常。 10.1 Java的异常 10.1.3 异常处理机制 2. 捕获异常 如果Java运行时系统找不到可以捕获异常的方法,则运行时系统将终止,相应的Java程序也将退出。 10.1 Java的异常 10.1.3 异常处理机制 3. 声明抛出异常 如果一个方法并不知道如何处理所出现的异常,则可在方法声明时,声明抛出(throws)异常。 10.1 Java的异常 10.1.4 异常类的层次 在JDK中,每个包中都定义了异常类,而所有的异常类都直接或间接地继承于Throwable类。图10-3为JDK中异常类的继承关系。 10.1 Java的异常 10.1.4 异常类的层次 java中的异常类可分为两大类: (1) 运行时异常:继承于RuntimeException的类都属于运行时异常,例如算术异常(除零错)、数组下标越界异常等等。 由于这些异常产生的位置是未知的,Java 编译器允许程序员在程序中不对它们做出处理。 10.1 Java的异常 10.1.4 异常类的层次 (2) 非运行时异常:除了运行时异常之外的其他由Exception 继承来的异常类都是非运行时的异常,Java编译器要求在程序中必须处理这种异常,捕获异常或者声明抛出异常。 Exception类的常用子类如表10-1所示。 子类名

文档评论(0)

132****9295 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档