您的位置:首页 > 其它

异常处理

2015-08-21 23:15 190 查看
【异常处理五个关键字】

try、catch、finally、throw、throws

【异常的分类】

Throwable:是所有异常类和错误类的基类。其下有Error和Exception两种。

Error:是系统内部的错误,无法处理的。由Java虚拟机产生并抛出,包括动态链接失败、虚拟机错误等,程序对其不做处理。

Exception:所有异常类的父类。其下有两种子类异常,一种属于RuntimeException是可处理也可不处理的异常;另一种属于必须必须catch和处理的异常。

RuntimeException:如被0除、数组下标超范围等,产生频繁,处理麻烦,若显示的声明或捕捉将会对程序可读性和运行效率影响很大。因此由系统自动检测并将他们交给缺省的异常处理程序(用户可不对其处理)。

【基本概念】

1、Java异常是Java提供的用于处理程序中错误的一种机制。

2、所谓错误是指在程序运行的过程中发生的一些异常事件(如:除0溢出,数组下标越界 ,所读文件不存在)。

3、设计良好的程序应该在异常发生时提供处理这些错误的方法,使程序不会因为异常的发生而阻断或产生不可预见的结果。

4、Java程序的执行过程中如出现异常事件,可生成一个异常对象,该异常对象封装了异常事件的信息并将被提供交给Java运行时系统,这个过程称为抛出(throw 异常)。

5、当Java运行时系统接收异常对象时,会寻找能处理这一异常的代码并把当前对象将给其处理,这一过程叫捕捉(catch)异常。

【finally】

代码范例:

try{

//可能抛出异常的语句

}catch(SomeException1 e)

{

............

}catch(SomeException2 e)

{

.............

}finally{.......}

finally的作用在于无论报不报错,都执行finally。

1、try语句指定了一段代码,该代码就是一次捕获并处理例外的范围。

2、在执行过程中,该段代码可能会产生并抛出一种或几种类型的异常对象,它后面的catch语句要分别对这些异常做相应处理。

3、若没有例外产生,所有的catch代码段都被略过不执行。

4、无论try所指定的程序块中是否抛出例外,finally所指定的代码都要被执行。

5、通常finally语句中可进行资源的清除工作,如:关闭打开的文件,删除临时文件等等。

【使用自定义异常】

1、通过继承java.lang.Exception类声明自己的异常类。

2、在方法适当的位置生成自定义异常的实力,并用throw语句抛出。

3、在方法前声明部分用throws语句声明该方法可能抛出的异常。

【切记】重写方法需抛出与原方法所抛出异常类型一致异常或不抛出异常!!!!!

【面对异常两个处理方式】

1、抛出(抛出异常的方法在调用的地方一定要处理!!或者继续抛出!!!)

举例:

class A{

public void f() throws SomeException{               //抛出异常

...............

}

public static void main(String args[]){

A a = new A() ;

trry{

a.f()

}catch(SomeException se){

................

}

}

void f1()
4000
throw SomeExcepton{ f2(); }
//抛出异常

void f2() throw SomeExcepton{ f3() ; }

void f3() throw SomeExcepton {     

 throw new SomeExcepton(“SomeException occars!”) ;

}

}

2、捕捉
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: