【问题标题】:How to handle StackOverflowError [duplicate]如何处理 StackOverflowError [重复]
【发布时间】:2016-05-26 08:30:09
【问题描述】:

StackOverflowError Exception的原因是什么,是checked异常还是unchecked异常?

【问题讨论】:

  • 检查您要发送到堆栈的元素。如果您将更多数量的元素传递给堆栈,您可能会收到此错误。!
  • StackOverflowError 扩展 Error。因此,不需要捕捉它。进入递归方法调用的无限循环时经常发生这种情况。

标签: java exception-handling


【解决方案1】:

StackOverflowErrorError不是Exception,因此不是已检查或未检查的异常。

类层次结构如下:

                  Throwable
                      |
       +--------------+----------------+
       |                               |
     Error                         Exception 
       |                               |
       |                       +-------+----------------+
       |                       |                        |
StackOverFlowError       RuntimeException         SQLException
                               |
                               |
                      NullPointerException

错误扩展Error

检查的异常扩展Exception

未经检查的异常扩展RuntimeException


当您的堆栈对方法的调用过深时会发生此错误。

例如,如果您不记得从递归函数中定义退出策略,您可以使用StackOverflowError

【讨论】:

    【解决方案2】:

    你可以看看https://docs.oracle.com/javase/7/docs/api/java/lang/StackOverflowError.html
    了解有关此错误的更多信息。

    此外,您的一段代码可以帮助您理解为什么会发生此错误。

    【讨论】:

      猜你喜欢
      • 2018-11-17
      • 1970-01-01
      • 2021-04-22
      • 1970-01-01
      • 2015-06-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多