Java异常链

Posted 去经历,去极致

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 部分就是底层的异常信息)

 

以上是关于Java异常链的主要内容,如果未能解决你的问题,请参考以下文章

异常+异常链

java异常——捕获异常+再次抛出异常与异常链

片段中的 EditText 上的空指针异常 [重复]

Java异常处理机制

java 第50节 Java中的异常链

Java异常链