try catch 用包装技术 抛出异常

来源:互联网 发布:mac 刻录机 编辑:程序博客网 时间:2024/05/16 18:35

  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) 而不允许抛出它  我们可以捕获它 将它包装成

   运行时异常 抛出