《java异常》PPT课件.ppt
《《java异常》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《java异常》PPT课件.ppt(38页珍藏版)》请在三一办公上搜索。
1、0,Java的异常处理,1,程序中的错误可分为三类:,编译错误、逻辑错误和运行时错误。编译错误是由于没有遵循Java语言的语法规则而产生的,这种错误要在编译阶段排除,否则程序不可能运行。逻辑错误是指程序编译正常,也能运行,但结果不是人们所期待的。,2,运行时错误是指程序运行过程中出现了一个不可能执行的操作,就会出现运行时错误,运行时错误有时也可以由逻辑错误引起。异常处理的主要目的是即使在程序运行时发生了错误,也要保证程序能正常结束,避免由于错误而使正在运行的程序中途停止。,3,什么是异常?,异常处理机制是JAVA语言的重要特征之一。通过异常处理机制可防止程序执行期间因出现错误而造成不可预料的结
2、果。,一个好的应用程序,除了具备用户要求的功能外,还要求能预见程序执行过程中可能产生的各种异常,并把处理异常的功能包括在用户程序中。,4,异常是程序执行期间发生的各种意外或错误。比如说:用户输入出错 所需文件找不到 运行时磁盘空间不够 内存不够 算术运算错(数的溢出,被零除)数组下标越界,5,在Java程序运行过程中,产生的异常通常有三种类型:一是JAVA虚拟机由于某些内部错误产生的异常,这类异常不在用户程序的控制之内,也不需要用户处理这类异常;二是标准异常类,由java系统预先定义好的。这类异常是由程序代码中的错误而产生的,如:以零为除数的除法,访问数组下标范围以外的数组元素,访问空对象内的
3、信息,这是需要用户程序处理的异常。三是根据需要在用户程序中自定义的一些异常类。,6,Java中所有的异常都是用类表示的,在JAVA中预定义了很多异常类,每个代表了一种类型的运行错误。当程序发生异常时,会生成某个异常类的对象。Java解释器可以监视程序中发生的异常,如果程序中产生的异常与系统中预定义某个异常类相对应,系统就自动产生一个该异常类的对象,就可以用相应的机制处理异常,确保程序能够安全正常地继续运行。异常对象中含有这种运行错误的信息和异常发生时程序的运行状态。,7,二、Java中标准异常类的层次结构,针对各种类型的异常,Java定义了许多标准异常类,所有的Java异常类都是系统类库中的E
4、xception类的子类,它们分布在java.lang、java.io、java.util和包中。每个异常类对应一种特定的运行错误,各个异常类采用继承的方式进行组织。异常类的层次结构图如下图所示:,8,Java中异常类的结构:,9,Throwable类有两个直接子类:Error(致命错误)和Exception(异常)。Error类型的异常与JAVA虚拟机本身发生的错误有关,这类异常由java直接处理,用户程序一般不能太做什么,只能等待系统通知用户关闭程序。用户程序产生的错误由Exception的子类表示。用户程序应该处理这类异常。,10,、Throwable类,该类属于Java.lang包,是
5、所有异常类的父类在Throwable类中定义了描述异常发生的位置和所有异常类共同需要的内容,11,Throwable类的构造函数,(1)public Throwable(),以null作为错误信息串内容创建Throwable对象,同时调用该对象的另一方法fillInStackTrace记录异常发生的位置。,12,Throwable类的主要成员函数,13,Throwable类的主要成员函数(续),14,Error类是Throwable类的子类,由系统保留,用户不能使用。也就是说,Error类型的错误不允许用户插手处理,由Java系统自行处理。Error类描述系统错误:如将字节码装入内存的过程中和
6、对字节码进行检查的过程中遇到的问题、java的内部错误、资源耗尽的情况。这类异常由java直接处理,用户程序不要理会这类异常。,、Error类,15,Exception类是Throwable类的子类,用户程序中可以直接使用Exception类处理Exception类型的异常。Exception类不仅继承了Throwable类的方法,同时定义以下两个构造函数:public Exception()public Exception(String s)说明:字符串s用来接收传入的字符串信息,该信息通常是 对错误的描述。,3、Exception类,16,异常程序举例:,/java直接处理运行时异常cla
7、ss TestSystemException public static void main(String args)intnum=new int2;for(int i=1;i3;i+)numi=i;System.out.println(“num”+i+”=”+i);该程序产生的输出见程序的运行,17,Java对异常的处理涉及两方面的内容:一是抛出(throw)异常 二是捕捉(catch)异常 如果程序在运行过程中出现了运行错误,并且产生的异常与系统中预定义某个异常类相对应,系统就自动产生一个该异常类的对象,这个过程称为抛出(throw)异常。当有异常对象抛出时,将在程序中寻找处理这个异常的代
8、码,如果找到处理代码,则把异常对象交给该段代码进行处理,这个过程称为捕捉(catch)异常。如果程序中没有给出处理异常的代码,则把异常交给Java运行系统默认的异常处理代码进行处理。默认的处理方式是:首先显示描述异常信息的字符串,然后终止程序的运行。,三、异常的处理机制,18,四、异常的抛出(throw),抛出异常有两种方式:由系统自动抛出和利用抛出语句抛出。1 由系统自动抛出异常 在程序运行过程中,如果出现了可被Java运行系统识别的错误,系统会自动产生与该错误相对应的异常类的对象,即自动抛出。例如上例。2 人为异常抛出两种方式:在方法头写出需要抛出的异常(利用throws语句)在方法体内抛
9、出异常(利用throw语句),19,Throws语句抛出异常格式:,修饰符 返回值类型 方法名(形参表)throws 异常类名1,异常类名2,说明:在执行该方法的过程中,如果出现了由throws列出的异常,则可以抛出异常,并在程序中寻找处理这个异常的代码;如果程序中没有给出处理异常的代码,则把异常交给Java运行系统默认的异常处理代码进行处理。,20,Throws语句举例,class Throws_Exp public static void main(String args)throws ArithmeticException,ArrayIndexOutOfBoundsException i
10、nt a=4,b=0,c=1,2,3,4,5;System.out.println(a/b);System.out.println(ca+1);System.out.println(“end”);,21,Throw语句抛出异常,如果需要在方法内某个位置抛出异常,可以使用Throw语句,通常将Throw语句和if语句配合使用。格式:throw 异常类对象名 throw(new 异常类名();说明:执行throw语句时,程序终止执行后面的语句,在程序中寻找处理异常的代码;如果程序中没有给出处理代码,则把异常交给Java运行系统处理。,22,Throw语句举例1,class Throw_Exp1 p
11、ublic static void main(String args)ArithmeticException e=new ArithmeticException();int a=4,b=0;System.out.println(“Before ArithmeticException”);if(b=0)throw e;System.out.println(a/b);,23,Throw语句举例2,class Throw_Exp2 public static void main(String args)int a=5,c=1,2,3,4,5;System.out.println(“Before th
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java异常 java 异常 PPT 课件
链接地址:https://www.31ppt.com/p-5577028.html