异常的基础理论

来源:互联网 发布:手机版淘宝联盟 编辑:程序博客网 时间:2024/04/28 10:39

异常是描述出错信息的对象。

 

Exception为所有异常的父类,可以捕获,可以处理。

Error为所有错误的父类,可以捕获,不可以处理。

Exception和Error有一个共同的父类Throwable。

可以通过Try {  

}catch( Exception e){  }

捕获异常。     捕获异常的含义为定义一个异常变量,用该变量接受try块中抛出的异常对象。

 

异常的执行顺序:

先执行try块,顺序执行,如果有异常发生,那么转去catch块执行。同时终止try块中的其他代码。无论是否有异常,finally都会执行

 

Finally块,和try,catch联用的语句块,表示无论是否有异常发生,都会执行的语句块。如果try块或catch块中,有return语句,那么,在跳出方法之前执行。

但如果虚拟机关闭(system.exit(0)),finally才不会执行。所以,finally一般用于资源清理操作,比如,流的关闭,数据库的关闭等。

 

如果一个try块后面定义了多个catch块。当try块中有异常发生时,只会执行第一个匹配异常对象的catch块。其余的catch块会忽略。

 

异常的分类:编译期异常和运行期异常。

编译期异常,是要求开发者必须处理的异常,如果不处理,那么编译错误。

运行期异常,开发者可处理可以不处理,如果不处理,也不会编译错误。

 

所有运行期异常都是RuntimeException的子类。如果不是的子类,那么就是编译期异常。  

 

 

throw和throws的区别:

throw是一条语句,表示显示抛出某个一次昂对象。Thrownew Exception( );

throws是方法修饰符。表示某个方法可能会抛出某个异常。那么,调用该方法时,就必须处理该方法抛出的异常。

 

 

垃圾回收器,回收没有被变量所指向的对象。程序员不能干预垃圾回收,但是可以通过调用System.gc( )。加快垃圾回收的速度。  

 

 

Finalze()是Object中定义的。表示在垃圾回收器回收当前对象之前,自动调用的方法。如果重写了该方法,可以做一些清理工作。
0 0
原创粉丝点击