分类: Java
2010-07-21 11:20:05
Exception处理的基本语法如下,由try-block,catch-block,和finally-block组成。其中catch-block或finally-block可以不存在。另外catch-block可以为了拦截多种ExcetpionType而包含多个catch语句,一般的原则是拦截明确的狭义的ExceptionType的catch语句先于拦截一般的宽泛的ExceptionType的catch语句。
try {
} catch (ExceptionType1 e) {
exception code
} catch (ExceptionType2 e) {
exception code
} finally {
finally code
|- Error
|- Exception
Java规范中称Error,RuntimeException,和他们的子类是unchecked exception。其他exception称为checked exception。这样命名的原因是因为编译器只检查(check)class和method是否正确抛出(Throws)了checked exception, 而不要求(检查)程序明确写出抛出的unchecked exception。
class YourClass Throws exceptionType
public methodName(...) Throws exceptionType
} catch (LowLayerException e){
Throwable highLayer= new HighLayerException("High Layer Exception");
Throw highLayer;
chained exception就是保留原来的exception信息,但是转换exception类后重新抛出。对于分层模型,这样做解耦了上下层接口和架构之间的依赖关系。
1. JLS
2. Cay S. Horstman, Gary Cornell, Core Java 2 Valueme, 7Ed