第七章 Java中的异常(例外).ppt

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第七章 Java中的异常(例外)

7.1 什么是异常 7.2 异常的处理 7.3 自定义异常类的使用 7.1 什么是异常 含义:异常(Exception)是程序在运行过程中所发生的非正常事件(而这些错误在设计时不能准确地识别出但又可能会发生或者不会发生。 非正常事件即各种意外情况。比如说: ① 用户输入出错 ② 所需文件找不到 ③ 运行时磁盘空间不够 ④ 内存不够 ⑤ 算术运算错 (数的溢出,被零除…) ⑥ 数组下标越界 当Java程序出现以上的错误时,就会在所处的方法中产生一个异常对象。这个异常对象包括错误的类型,错误出现时程序的运行状态以及对该错误的详细描述。 2.程序设计中的三种错误---语法错误(编译时的错误)、逻辑错误(运行时的错误)、异常错误(运行时的错误)。 3.异常错误的特点:程序在运行过程中所发生的错误事件;程序员在编程时无法预知它是否会产生;产生与否取决于用户当时的执行环境。 …… import java.io.*; class ExceptionDemo { public static void main(String args[]) { FileInputStream fis=new FileInputStream(“text”); int b; while((b=fis.read())!= -1) { System.out.println(b); } fis.close(); } } 2、异常处理机制 Java的异常处理机制:抛出异常并捕获异常。 1.抛出异常:当程序中产生异常时,运行系统将抛出异常类对象(它代表某一异常类型的错误)。 2.捕获异常:用户程序或运行系统可以捕获该异常类对象(在函数的调用栈中查找能处理此异常事件的程序为止)并相应地给出处理的方法(代码)。这是积极的异常处理机制。如果Java运行时系统找不到可以捕获异常的方法,则运行时系统将终止,相应的Java程序也将退出。 异常处理机制执行过程: 出现异常事件时,Java系统自动产生一个异常对象,然后将这个对象传递给Java运行时系统,这个例外产生和提交的过程称为抛出(throw)异常( Exception );当Java运行时系统得到例外对象以后,它将会寻找处理这一例外的代码,找到能处理这一例外的方法以后,运行时系统把当前例外对象交给这个方法进行处理,这一过程称为捕获(catch)异常( Exception ) 。 3、异常类的层次和主要子类 在jdk中,每个包中都定义了异常类,而所有的异常类都直接或间接地继承于Throwable类。 java中的异常类可分为两大类:(它们均被放在java.lang包中) Error: 动态链接失败,虚拟机错误等,通常Java程序不应该捕获这类异常,也不会抛弃这种异常。 Exception  1)运行时异常:   继承于RuntimeException的类都属于运行时异常,例如算术异常(除零错)、数组下标越界异常等等。由于这些异常产生的位置是未知的,Java 编译器允许程序员在程序中不对它们做出处理。  2)非运行时异常:   除了运行时异常之外的其他由Exception 继承来的异常类都是非运行时的异常,例如FileNotFoundException(文件未找到异常)。Java编译器要求在程序中必须处理这种异常,捕获异常或者声明抛弃异常。 异常类的方法和属性(祥见类库) 7.2异常处理 (1)由系统自动处理。 (2)通过try、catch、finally语句块,捕获住该异常 。这是积极的异常处理机制。如果Java运行时系统找不到可以捕获异常的方法,则运行时系统将终止,相应的Java程序也将退 (3)使用throw语句直接抛出异常或使用throws语句间接抛出异常。(这可通过throws语句来声明所抛出的异常 ) 如果一个方法并不知道如何处理所出现的异常,则可在方法声明时,声明抛弃(throws)异常。这是一种消极的异常处理机制。    1 、try~catch~finally语句 语法结构: try { 可能产生异常的语句块;; } catch(异常类名1 对象名1) { 处理语句组1; } catch(异常类名2 对象名2) { 处理语句组2; } …… finally { 最终处理语句; } 多catch语句块编程要点: ①catch语句的顺序:   捕获异常的顺序和catch语句的顺序有关,当捕获到一个异常时,剩下的catch语句就不再进行匹

文档评论(0)

yan698698 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档