Java 什么导致异常中的递归原因?

Java 什么导致异常中的递归原因?,java,exception,Java,Exception,当在调试器中查看Java中的异常时,您通常会看到其原因是无限递归的(我假设它是无限的) e、 g: 例外情况1, 原因->例外2 原因->例外2 原因->例外2 为什么会这样 NB:这是在调试器中查看代码时,在本例中为Eclipse。查看: 所以我猜你看到的是一个异常,它是在没有使用任何一个构造函数的情况下创建的,它有一个原因 您将在调试器中看到这一点,但注意不要返回递归引用: 414 public synchronized Throwable getCause() { 4

当在调试器中查看Java中的异常时,您通常会看到其原因是无限递归的(我假设它是无限的)

e、 g:

例外情况1,
原因->例外2
原因->例外2
原因->例外2
为什么会这样

NB:这是在调试器中查看代码时,在本例中为Eclipse。查看:

所以我猜你看到的是一个异常,它是在没有使用任何一个构造函数的情况下创建的,它有一个原因

您将在调试器中看到这一点,但注意不要返回递归引用:

  414       public synchronized Throwable getCause() {
  415           return (cause==this ? null : cause);
  416       }
查看以下内容:

所以我猜你看到的是一个异常,它是在没有使用任何一个构造函数的情况下创建的,它有一个原因

您将在调试器中看到这一点,但注意不要返回递归引用:

  414       public synchronized Throwable getCause() {
  415           return (cause==this ? null : cause);
  416       }

我从来没见过。。。我想如果没有细节,很难告诉你你有什么代码吗?若你们有错误的代码+堆栈跟踪,那个就更清楚了。请提供更多详细信息,也许是一个代码?我想知道这是否会导致PEEP请求代码。我给你买一些。我在代码中的不同地方看到过这种情况。更多细节将被提供,虽然…我从未见过。。。我想如果没有细节,很难告诉你你有什么代码吗?若你们有错误的代码+堆栈跟踪,那个就更清楚了。请提供更多详细信息,也许是一个代码?我想知道这是否会导致PEEP请求代码。我给你买一些。我在代码中的不同地方看到过这种情况。但是,如果有人发明了时间旅行的话,更多的细节将被提供…似乎是一个等待发生的错误。如果一个异常回溯到时间并导致自身发生,该怎么办?邓邓!我觉得这是一个有趣的问题。我经常看到底层库抛出异常,这些异常将自身视为其原因,从而创建了一个无休止的循环。为什么要这样做?这是一个有趣的例子,说明了API的隐藏和封装部分如何会给开发人员带来问题(这里有人试图将2个值打包到一个字段中,可能是出于某些性能原因)。我经常发现自己在IntelliJ中扩展了
cause
es,十级之后,我开始怀疑WTF…似乎是一个等待发生的bug,如果有人发明了时间旅行的话。如果一个异常回溯到时间并导致自身发生,该怎么办?邓邓!我觉得这是一个有趣的问题。我经常看到底层库抛出异常,这些异常将自身视为其原因,从而创建了一个无休止的循环。为什么要这样做?这是一个有趣的例子,说明了API的隐藏和封装部分如何会给开发人员带来问题(这里有人试图将2个值打包到一个字段中,可能是出于某些性能原因)。我经常发现自己在IntelliJ中扩展了
原因
es,并且在十个级别之后对WTF感到疑惑。。。