Java异常和Java Applet
第8章
Java异常学习要点
异常的基本概念
异常的处理
异常类的层次结构
创建自己的异常
2
异常基本概念
运行时发生的错误称为异常。处理这些异常就称为异常处理。
发生异常后此前分配的所有资源都将保留在相同的状态,这将导致资源漏洞。
3
异常处理机制
异常处理机制执行过程:
出现异常事件时,Java系统自动产生一个异常对象,然后将这个对象传递给Java运行时系统,这个例外产生和提交的过程称为抛弃例外(throw);当Java运行时系统得到例外对象以后,它将会寻找处理这一例外的代码,找到能处理这一例外的方法以后,运行时系统把当前例外对象交给这个方法进行处理,这一过程称为捕获(catch)。
4
Throwable类
异常类的层次和主要子类
Java异常指的是一个继承Throwable类的实例,它有两个子类:Exception和Error。。
5
Throwable类
6
Throwable类
Throwable类派生出两个分支:Error和Exception。
Error类被认为是不能恢复的严重错误,如系统内部错误和资源耗尽错误等。不应该抛出这种类型的错误,而是让程序中断。
Exception类定义可能遇到的轻微错误,分为派生自RuntimeException类的异常和非派生自RuntimeException类的异常。这时,可以写代码来处理异常并继续程序执行,而不是让程序中断。
区分RuntimeException和非RuntimeException的规则是:编程错误导致RuntimeException,如被零除、数组越界访问、空指针访问等;而其他异常则是由于意外情况而发生的,如试图读取文件结尾以后的数据、试图打开错误的URL、试图根据并不代表已存在类的字符串来查找Class对象等。
7
异常处理
(1)由系统自动处理。
public class Exception1
{
public static void main(String []args){
int a[]={1,2,3,4,5},sum=0;
for (int i=0;i<=5;i++) sum=sum+a[i];
("sum"+sum);
("essfuly!");
}
}
(2)使用try~catch~finally语句。
(3)使用throw语句直接抛出异常或使用throws语句间接抛出异常。
8
try~catch~finally语句
语法结构:
try
{ 可能产生异常的代码段; }
catch(异常类名1 对象名1)
{ 处理语句组1; }
catch(异常类名2 对象名2)
{ 处理语句组2; }
……
finally
{
最终处理语句;
}
9
throw语句和throws子句
(1)throw语句
用来明确地抛出一个异常,
throw 异常;
然后在包含它的所有try块中从内向外寻找与其匹配的catch语句块。
(2)throws语句
如果一个方法可能导致异常但不处理它,此时可在方法声明中包含 throws 子句,发生了异常,由调用者处理。throws列举方法可能引发的所有异常。
10
java异常与Java 来自淘豆网m.daumloan.com转载请标明出处.