第八章异常处理机制.ppt

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

第8章异常处理机制 学习导读 本章将介绍Java语言中的高级特性:异常处理、异常处理提供对错误的捕捉和处理机制 课程结构 什么是异常(Java编程中的错误) 异常和异常类 异常的抛出 异常的处理 8.1 java中错误 1.编译错误 编译错误是由于编写的程序存在语法问题,未能通过编译产生的,它由语言的编译系统负责检测和报告。 没有编译错误是一个程序能正常运行的基本条件,只有所有的编译错误都改正了,源代码才可以被成功地编译成目标码或字节码 8.1 java中错误 2.运行错误 运行错误是在程序的运行过程中产生的错误。根据性质不同 运行错误还可以分为系统运行错误和逻辑运行错误。 8.1 java中错误 系统运行错误 系统运行错误是指程序在执行过程中引发了操作系统的问题 所以不排除系统错误,程序就不能正常地工作 8.1 java中错误 逻辑运行错误 逻辑运行错误是指程序不能实现编程人员的设计意图和设计功能而产生的错误 Java的运行错误就是Java的异常。 8.2 异常和异常类 异常是一个对象,它继承自Throwable类,所有的Throwable类的子孙类所产生的对象都是例外. 每个异常类都代表了一种运行错误, 异常类中包含了该运行错误的信息和处理错误的方法等内容 8.2 异常和异常类 Java的异常处理机制 每当Java程序运行过程中发生一个可识别的运行错误时,(即该错误有一个异常类与之相对应时),系统都会产生一个相应的该异常类的对象,即产生一个异常。 一旦一个异常对象产生了,系统中就一定要有相应的机制来处理它,确保不会产生死机、死循环或其他对操作系统的损害,从而保证了整个程序运行的安全性 8.2 异常和异常类 Error:由Java虚拟机生成并抛出,Java程序不做处理. Runtime Exception(被0除等系统错误,数组下标超范围):由系统检测, 用户的Java 程序可不做处理,系统将它们交给缺省的异常处理程序. Exception(程序中的问题,可预知的): Java编译器要求Java程序必须捕获或声明所有的非运行时异常 用户自己产生异常 8.2 异常和异常类 8.2 异常和异常类 Exception类 构造函数: public Exception(); public Exception(String s);可以接受字符串参数传入的信息,该信息通常是对该异常所对应的错误的描述。 8.2 异常和异常类 Exception类从父亲Throwable那里还继承了若干方法,其中常用的有: 1)public String toString(); toString()方法返回描述当前Exception 类信息的字符串。 2)public void printStackTrace(); printStackTrace()方法没有返回值,它的功能是完成一个打印操作,在当前的标准输出(一般就是屏幕)上打印输出当前例外对象的堆栈使用轨迹,也即程序先后调用执行了哪些对象或类的哪些方法,使得运行过程中产生了这个例外对象。 8.2 异常和异常类 系统定义的运行异常 这些子类有些是系统事先定义好并包含在Java类库中的,称为系统定义的运行异常 见书P165表8-1 8.2 异常和异常类 用户自定义的异常 对于某个应用所特有的运行错误,则需要编程人员根据程序的特殊逻辑在用户程序里自己创建用户自定义的异常类和异常对象 用户定义的异常通常采用Exception作为异常类的父类 8.2 异常和异常类 class MyException extends Exception{ public MyException(){ ? } public MyException(String s){ super(s); } ? public String toString(){ … } … } 8.2 异常和异常类 创建用户自定义异常时,一般需要完成如下的工作: 1)声明一个新的异常类,使之以Exception类或其他某个已经存在的系统异常类或用户异常为父类。 2)为新的异常类定义属性和方法,或重载父类的属性和方法,使这些属性和方法能够体现该类所对应的错误的信息。 8.3 异常的抛出 Java程序在运行时如果引发了一个可以识别的错误,就会产生一个与该错误相对应的异常类的对象,把这个过程叫做异常的抛出, 实际是相应异常类对象的实例的抛出。 根据异常类的不同,抛出异常的方式有系统自动抛出和用户抛出两种 8.3 异常的抛出 1、系统自动抛出 所用的系统定义的运行错误异常都是由系统自动地抛出 见书例8。1 在程序中新建一个ArithmeticException类的对

文档评论(0)

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

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

1亿VIP精品文档

相关文档