【发布时间】:2016-05-26 08:30:09
【问题描述】:
StackOverflowError Exception的原因是什么,是checked异常还是unchecked异常?
【问题讨论】:
-
检查您要发送到堆栈的元素。如果您将更多数量的元素传递给堆栈,您可能会收到此错误。!
-
StackOverflowError扩展Error。因此,不需要捕捉它。进入递归方法调用的无限循环时经常发生这种情况。
StackOverflowError Exception的原因是什么,是checked异常还是unchecked异常?
【问题讨论】:
StackOverflowError 扩展 Error。因此,不需要捕捉它。进入递归方法调用的无限循环时经常发生这种情况。
StackOverflowError 是 Error。 不是Exception,因此不是已检查或未检查的异常。
类层次结构如下:
Throwable
|
+--------------+----------------+
| |
Error Exception
| |
| +-------+----------------+
| | |
StackOverFlowError RuntimeException SQLException
|
|
NullPointerException
错误扩展Error。
检查的异常扩展Exception
未经检查的异常扩展RuntimeException
当您的堆栈对方法的调用过深时会发生此错误。
例如,如果您不记得从递归函数中定义退出策略,您可以使用StackOverflowError。
【讨论】:
你可以看看https://docs.oracle.com/javase/7/docs/api/java/lang/StackOverflowError.html
了解有关此错误的更多信息。
此外,您的一段代码可以帮助您理解为什么会发生此错误。
【讨论】: