java - 为什么会使用原因链中的循环?

标签 java exception

我刚刚读到“Oracle jdbc 驱动程序抛出的一些 SqlExceptions 在 cause 字段中引用了自身”。恕我直言,异常可能会像我一样容易地自行导致 pull myself从我头发旁边的沼泽里出来。

但这似乎是正常的,甚至 Throwable.printStackTrace 也识别“循环引用”,这是我所知道的 JDK 中唯一这样的地方(例如所有 Arrays.deep* 方法以递归结构的堆栈溢出结束。

那么在原因链中产生循环的原因是什么?

最佳答案

cause==this means that no cause has been initialized.在这种情况下,getCause() 将返回 nullThrowable.printStackTrace 中的代码用于处理多元素循环。我认为这种循环没有任何充分的理由,但也许有些是由于错误或恶意造成的。

关于java - 为什么会使用原因链中的循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12983131/

相关文章:

java - 字符串池和 String[]

java - JSplitPane 中分隔线移动的动画

c++ - 未定义异常变量时按引用捕获

java - IText7 仅在新文档上创建表单/小部件

java - Spring Boot SessionFactory 实例化失败,但仅在容器化时失败

java - 这种 sleep 的实现有什么问题吗?

java - NotSerializableException 转义 Spring Controller 并导致 Google App Engine 队列出现问题

c++ - 每当动态分配内存时,您是否总是必须检查 bad_alloc?

java - 错误 - 未处理的异常类型异常?

java - Maven 阴影插件将文件重定位到主文件夹