java - 我无法克服意外的 initCause 行为

标签 java

我有这样的来源:

    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/

相关文章:

java - GraphStream 中的 setAttribute

java - 如何编写java程序只打印字符串中的重复字符?

java - 在简单的java程序中使用IF语句来应用折扣

java - 添加新组件时更新(和扩展)对话框

java - XML 转换失败

java - spring运行时如何选择bean实现

java - 如何使用正则表达式重新排列方法访问修饰符

java - 在字符串链表的链表中查找重复项的最有效方法 - java

java - 如何强制Jetty重新编译jsp servlet

java - java中一定次数的循环后执行操作