Public classThrowable extends Object implements Serializable
在Java语言中,Throwable类是所有Error和Exception的超类。只有Throwable类或其子类才能被JVM或throw表达式抛出。类似的,只有Throwable类或其子类才能当做catch语句块的参数类型。
其两个子类,Error和Exception的实例能够方便地表明异常产生的环境。典型地,这些实例在异常环境的上下文中被创建,以便包含相关信息(如stack trace data)。
Throwable实例包含它创建时线程的栈信息快照。实例包含一条字符串信息来携带有关异常的更多信息。实例包含cause信息:导致抛出这个Throwable实例的另一个Throwable实例。这种cause机制在release 1.4中新加入的。这被称为chained exception机制:每个cause都会有它的cause,以此类推,形成一条异常“链”。
try { lowLevelOp(); } catch (LowLevelException le) { throw new HighLevelException(le); // Chaining-aware constructor }
try { lowLevelOp(); } catch (LowLevelException le) { throw (HighLevelException) new HighLevelException().initCause(le); // Legacy constructor }
在构建Java Project前,封装有层次的Exception。 利用chained exception facility,实现逻辑清晰,健壮的异常处理机制。