1 / 47
文档名称:

第11章 Java高级编程.ppt

格式:ppt   大小:199KB   页数:47页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

第11章 Java高级编程.ppt

上传人:mh900965 2017/11/17 文件大小:199 KB

下载得到文件列表

第11章 Java高级编程.ppt

相关文档

文档介绍

文档介绍:Java高级编程
异常处理
Java 多线程机制
流式输入输出
异常处理
异常与异常类
异常又称为例外,,、程序运行环境的不同等诸多因素,运行程序时还可能出现各种错误。任何一种错误都可能影响程序的正常运行。
为了能够及时处理程序中发生的错误,java中引入了异常类和异常对象。每个异常类代表一种类型的运行错误,类中包括该种错误的信息和处理错误的方法。程序正在运行过程中如果发生了与某种异常类相对应的错误,系统就为该异常类产生一个异常对象。一旦有异常对象产生,就可以用相应的机制处理异常,确保程序能够安全正常的继续运行。
异常类的层次结构
所有异常类都是Throwable类或其子类。 Throwable类派生了两个子类,分别是Exception和Error。 Exception和Error类又各自分为多个子类。
Error类是Throwable类的子类,由系统保留,用户不能使用。也就是说, Error类型的错误不允许用户插手处理,由java系统自行处理。
Exception类是Throwable类的子类,程序中可以直接使用Exception类处理Exception类型的异常。
Exception类又进一步细分为RuntimeException运行异常和其他异常,都是一些常见的错误。
Exception类的主要子类
类名
对应的错误
RuntimException
运行错误
AWTException
使用AWT包出现错误
ClassNotFoundException
使用不存在的类
essException
非法访问错误,如企图访问包中的私有变量
InstantiationException
企图为抽象类或接口创建实例化对象
InterruptedException
中断错误
IOException
输入/输出错误
NotSuchMethodException
找不到指定的方法
RuntimException类的常用子类
类名
对应的运行错误
ArthmeticException
算术运算错误,如用0作除数
ArrayStoreException
将错误数据存入数组
ClassCastException
类强制转换错误
IllegalArgumentException
参数非法
ArrayIndexOutOfBoundsException
数组下标越界错误
NegativeArraySizeException
数组的长度为负数
SecurityException
安全性错误,如试图用Applet程序读写文件
异常的处理机制
Java对异常的处理涉及两方面的内容:一是抛出异常,二是捕捉异常。
如果程序在运行时出现运行错误,就会产生异常对象,这个过程称为抛出异常。当有异常对象抛出时,将在程序中寻找处理这个异常的代码,如果找到处理代码,则把异常对象交给处理代码进行处理,这个过程称为捕捉异常。
抛出异常
由系统自动抛出异常
在程序运行中,如果出现了可被Java运行系统识别的错误,系统会产生与该错误相对应的异常类的对象,即自动抛出异常.
人为抛出异常
有两种方式:一种是在方法头写出需要抛出的异常,另一种是在方法体内用throw语句抛出异常。
throws抛出异常
在定义方法时,可以用throws关键字引出需要的异常,格式如下:
修饰符返回值类型方法名([形式参数列表]) throws 异常类名1,异常类名2,…
用throw语句抛出异常
如果需要在方法内某个位置抛出异常,可以用throw语句,格式如下:
throw 异常对象名;
执行throw语句时,程序终止执行后面的语句,在程序中寻找处理异常的代码,如果没有给出处理代码,则把异常交给java运行系统处理。
捕捉异常
在前面给出的例子中,由于程序中都没有给出处理异常的代码,因此抛出的异常都被Java运行系统捕捉,由Java运行系统进行相应处理。一般来说,在设计程序过程中,如果能够预测程序中可能发生的异常,则应在程序中给出处理代码,而不交给Java运行系统处理,对于程序中不能预测的异常,可以交给Java运行系统处理。