Java 为什么因果链中的循环会被使用?
我刚刚读到“OracleJDBC驱动程序引发的一些SQLException在原因字段中引用了自身”。我想,一个例外会像我头发从沼泽中爬出来一样容易 但这似乎很正常,甚至是可丢弃的。printStackTrace可识别“循环引用”,这是我所知道的JDK中唯一这样的地方(例如,所有Java 为什么因果链中的循环会被使用?,java,exception,Java,Exception,我刚刚读到“OracleJDBC驱动程序引发的一些SQLException在原因字段中引用了自身”。我想,一个例外会像我头发从沼泽中爬出来一样容易 但这似乎很正常,甚至是可丢弃的。printStackTrace可识别“循环引用”,这是我所知道的JDK中唯一这样的地方(例如,所有数组。deep*方法最终都会导致递归结构的堆栈溢出) 那么,在原因链中创建周期的原因是什么呢?getCause()在这种情况下将返回null。Throwable.printStackTrace中的代码用于处理多元素循环。我
数组。deep*
方法最终都会导致递归结构的堆栈溢出)
那么,在原因链中创建周期的原因是什么呢?
getCause()
在这种情况下将返回null
。Throwable.printStackTrace
中的代码用于处理多元素循环。我认为这样的循环没有什么好的理由,但可能有一些是由于bug或恶意而进入的。好吧,你得问问Oracle的作者。对我来说只是个虫子。