StackOverflowError是无法捕获的


这个简短的代码示例完美地演示了为什么您不应该尝试捕获 StackOverflowError。根本无法保证有足够的堆栈可供应用程序代码做任何合理的事情——甚至不记录它。因此,如果您发现自己遇到了 StackOverflowError,只需放下执着好奇,然后尽快退出。
JVM 可能会向您抛出一些可抛出的东西,您不应该尝试捕捉它们。基本上,“一个合理的应用程序”(如文档所说)通常不应该尝试捕获 java.lang.Error 的任何 throwable抛出,因为它表明 JVM 存在严重问题。
在这篇文章中,我将仔细研究 java.lang.StackOverflowError,并尝试说明为什么尝试捕获这些错误是一个坏主意。
点击标题见原文