我有这样的来源:
Exception e = new Exception("Exception");
IOException ioE = new IOException("An exception cause");
e.initCause(ioE);
我试图设置异常“e”的原因,我得到的是异常被设置为自身!
我就是不明白。我的代码有意义还是我疯了?
最佳答案
似乎有效:
package com.daniel.test;
import java.io.IOException;
public class Test {
public static void main(String[] args) throws Exception{
Exception e = new Exception("Exception");
IOException ioE = new IOException("An exception cause");
e.initCause(ioE);
throw e;
}
}
输出为:
Exception in thread "main" java.lang.Exception: Exception
at com.daniel.test.Test.main(Test.java:8)
Caused by: java.io.IOException: An exception cause
at com.daniel.test.Test.main(Test.java:9)
可以看到原因设置正确。
关于java - 我无法克服意外的 initCause 行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9899412/