[size=medium] 异常机制总结
一、 什么是异常
异常是导致程序中断的一种指令流,如果不对异常进行处理,就可能导致程序的中断执行,从而造成不必要的损失。
二、 异常的种类有哪些
在java中异常对象都是派生于throwable类的一个实例,在整个java的异常结构中最常用的两个类是Exception和Error,这两个类都是Throwable的子类。1、Error类层次结构描述了java运行时系统内部错误和资源耗尽错误,应用程序不应该抛出这种类型的对象。如果出现了这样的情况,除了通告给用户,并尽力使程序安全地终止之外,除此之外,别无他法。
2、在java的程序设计中应给更多的关注Exception类的异常情况。而Exception类异常又可分为:运行时异常(RuntimeException)和强制转换异常(checked Exception)。
注1:运行时异常和Error类异常都可以统称为非强制转换异常(unchecked Exception)
注2:RuntimeException(ArrayindexOutOfBoundsException,NullPointerException,
NumberFormatException)
三、 怎样捕获异常和处理异常
1、Java中由try…catch语法来处理异常;这里所指的异常是指上面的强制装换异常,其语法结构为:
Try{
}
Catch(Exception e){
}
其含义即是:
如果在try语句块中的任何代码抛出了一个在catch子句中说明的异常类,那么
(1) 程序将跳过try语句块的其余代码;
(2) 程序将执行catch子句中的处理器代码。
如果在try 语句块中的代码没有任何异常,那么程序将跳过catch子句。
2、抛出异常
(1)在定义方法时可以用throws来声明方法可能会抛出异常;
其语法结构为:
Public 返回值类型 方法名称(参数)throws 异常类{ }
当另外一个方法调用了一个声明为可能抛出异常的方法,可以将该调用的方法放到try….catch块中,也可以将调用方法也声明为可能抛出异常,这样一级一级的抛出异常,一直到主方法也被声明为可能抛出异常的方法,那么一旦出错就会将异常抛给JVM虚拟机。
(2)也可以用throw人为地抛出一个异常,抛出时直接抛出异常类的实例化对象。
[size=large][/size]
一、 什么是异常
异常是导致程序中断的一种指令流,如果不对异常进行处理,就可能导致程序的中断执行,从而造成不必要的损失。
二、 异常的种类有哪些
在java中异常对象都是派生于throwable类的一个实例,在整个java的异常结构中最常用的两个类是Exception和Error,这两个类都是Throwable的子类。1、Error类层次结构描述了java运行时系统内部错误和资源耗尽错误,应用程序不应该抛出这种类型的对象。如果出现了这样的情况,除了通告给用户,并尽力使程序安全地终止之外,除此之外,别无他法。
2、在java的程序设计中应给更多的关注Exception类的异常情况。而Exception类异常又可分为:运行时异常(RuntimeException)和强制转换异常(checked Exception)。
注1:运行时异常和Error类异常都可以统称为非强制转换异常(unchecked Exception)
注2:RuntimeException(ArrayindexOutOfBoundsException,NullPointerException,
NumberFormatException)
三、 怎样捕获异常和处理异常
1、Java中由try…catch语法来处理异常;这里所指的异常是指上面的强制装换异常,其语法结构为:
Try{
}
Catch(Exception e){
}
其含义即是:
如果在try语句块中的任何代码抛出了一个在catch子句中说明的异常类,那么
(1) 程序将跳过try语句块的其余代码;
(2) 程序将执行catch子句中的处理器代码。
如果在try 语句块中的代码没有任何异常,那么程序将跳过catch子句。
2、抛出异常
(1)在定义方法时可以用throws来声明方法可能会抛出异常;
其语法结构为:
Public 返回值类型 方法名称(参数)throws 异常类{ }
当另外一个方法调用了一个声明为可能抛出异常的方法,可以将该调用的方法放到try….catch块中,也可以将调用方法也声明为可能抛出异常,这样一级一级的抛出异常,一直到主方法也被声明为可能抛出异常的方法,那么一旦出错就会将异常抛给JVM虚拟机。
(2)也可以用throw人为地抛出一个异常,抛出时直接抛出异常类的实例化对象。
[size=large][/size]