java 编程时 经常会用到 try catch 方法捕获预知可能的异常 捕获后要将其抛出 给使用者提供相关信息
基本抛出方法:
try {
accesss the database
} catch ( SQL Exception e) {
throw new ServletException ( " database error :" + e.getMessage() );
}
包装技术:
try {
accesss the database
} catch ( SQL Exception e) {
Throwable se = new ServletException ( "database error "| ) ;
se. initCause (e);
throw se;
}
这样 就可以在异常被捕获到时, 使用 Throwable e = se.getCause(); 重新得到 原始异常
这种形式 可以让用户抛出子系统中的高级异常的同时 不会丢失原始异常的细节
某些情况下 可以使用包装技术 对异常进行转换 例如 一个方法中发生了一个受查异常(非 error , runtimexception) 而不允许抛出它 我们可以捕获它 将它包装成
运行时异常 抛出