Java异常链

是什么

一种面向对象的编程技术,将捕获到的异常重新封装到一个新的异常中,并重新抛出。

 

有什么用

可以保留每一层的异常信息,用户查看异常的时候,能够从顶层异常信息看到底层异常信息。

 

怎么用

catch异常之后,将异常作为参数生成一个新的异常并抛出。

/*
 * @author zongpeng qiao
 * */
public class TextChainedException {
    public static void main(String[] args) {
        try {
            //throw original exception
            throw new FileNotFoundException("oops, no file");
        } catch (Exception ex) {
            //catch exception and make it into a new exception as member param cause.
            ex.printStackTrace();
            throw new RuntimeException(ex);
        }
    }
}

运行以上代码,会得到以下错误(Caused by 部分就是底层的异常信息)

 

posted @ 2018-06-14 23:56  darrenqiao  阅读(553)  评论(0编辑  收藏  举报