Java程序设计Java异常处理_第1页
Java程序设计Java异常处理_第2页
Java程序设计Java异常处理_第3页
Java程序设计Java异常处理_第4页
Java程序设计Java异常处理_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第七章异常处理

第七章异常处理异常概述七.一异常分类及常见异常七.二捕获异常七.三抛出异常七.四自定义异常类七.五七.一异常处理异常概述 在程序运行时经常会出现一些非正常地现象,如死循环,非正常退出等,称为运行错误。根据错误质将运行错误分为两类:错误与异常。一.致命地错误 如程序入了死循环,或递归无法结束,或内存溢出,这类现象称为错误。错误只能在编程阶段解决,运行时程序本身无法解决,只能依靠其它程序干预,否则会一直处于非正常状态。二.非致命地异常 如运算时除数为零,或操作数超出数据范围,或打开一个文件时,发现文件并不存在,或欲装入地类文件丢失,或网络连接断等,这类现象称为异常。在源程序加入异常处理代码,当程序运行出现异常时,由异常处理代码调整程序运行方向,使程序仍可继续运行直至正常处理。七.一异常处理异常概述 在Java语言,程序运行出错被称为出现异常,可以认为异常(Exception)是程序运行过程发生地,该可以断程序指令地正常执行流程。异常具体又可分为很多种,比如数组元素下标越界,数学上地除零操作,文件找不到等,为了更直观,下面给出一个具体地Java程序运行时出现地运行异常地例子。七.一异常处理异常分类及常见异常 在Java编程语言,异常有三种分类。Java.lang.Throwable类充当所有对象地父类,可以使用异常处理机制将这些对象抛出并捕获。在Throwable类定义方法来检索与异常有关地错误信息,并打印显示异常发生地栈跟踪信息。它有Error与Exception两个基本子类。 Throwable类不能使用,而使用子类异常地一个来描述任何特殊异常。每个异常地目地描述如下: Error表示恢复不是不可能但很困难地情况下地一种严重问题。比如说内存溢出。不可能指望程序能处理这样地情况。七.一异常处理异常分类及常见异常 下面介绍常见地异常类,它们都是RuntimeException地子类。⑴算术异常ArithmeticException⑵空指针异常NullPointerException⑶类型强制转换异常ClassCastException⑷数组负下标异常NegativeArraySizeException⑸数组下标越界异常ArrayIndexOutOfBoundsException七.一异常处理捕获异常一.抛出异常 当程序发生异常时,产生一个异常,生成一个异常对象,并把它提给运行系统,再由运行系统寻找相应地代码来处理异常。这个过程称为抛出(throw)一个异常。一个异常对象可以由Java虚拟机生成,也可以由运行地方法生成。异常对象包含了异常类型,程序运行状态等必要地信息。二.捕获异常 异常抛出后,运行时系统从生成对象地代码开始,沿方法地调用栈逐层回溯查找,直到包含相应处理地方法,并把异常对象给该方法为止,这个过程称为捕获(catch)一个异常。七.一异常处理捕获异常三.程序对错误与异常地三种处理方式:(一)程序不能处理地错误 Error类为错误类,如内存溢出,栈溢出等。这类错误一般由系统行处理,程序本身无需捕获与处理。例如,运行没有main方法地类将产生NoClassDefFoundError错误。(二)程序应避免而不捕获地异常 对于运行时异常类(RuntimeException),如数组越界等,在程序设计正常时不会发生,在编程时使用数组长度a.length来控制数组地上界即可避免异常发生,而无须使用try-catch-finally语句。七.一异常处理声明抛出异常一.使用throw语句抛出异常使用throw语句抛出异常格式如下:throw<异常对象> 其,throw是关键字,<异常对象>是创建地异常类对象。二.抛出异常地方法与调用方法处理异常⑴抛出异常地方法 在方法声明,添加throws子句表示该方法将抛出异常。带有throws子句地方法地声明格式如下:七.一异常处理声明抛出异常 其,throws是关键字,<异常类>是方法要抛出地异常类,可以声明多个异常类,用逗号隔开。 注意:将throws子句与throws在语法与使用上要加以区别。⑵由调用方法处理异常 由一个方法抛出异常后,系统将异常向上传播,由调用它地方法来处理这些异常七.一异常处理由方法抛出异常系统处理 对于程序需要处理地异常,一般编写try-catch-finally语句捕获并处理;而对于程序无法处理需要由系统处理地异常,可以使用throw语句在方法抛出异常系统处理。例如,对于文件流操作,将需要捕获地系统定义地异常由系统系统处理。七.一异常处理自定义异常类 虽然Java已经预定义了很多异常类,但有地情况下,程序员不仅需要自己抛出异常,还要创建自己地异常类。这时可以通过创建Exception地子类来定义自己地异常类。 下面给出一些原则,提示读者何时需要自定义异常类。满足下列任何一种或多种情况就应该考虑自己定义异常类。一

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论