因为
OutOfMemoryError是一个
Error,而不是一个
Exception。由于
OutOfMemoryError不是的子类
Exception,因此
catch(Exception e)不适用。
OutOfMemoryError确实可以扩展
Throwable,所以您应该能够抓住它。这是关于何时(如果有)应该捕获错误的SO讨论。通常,由于您对此无能为力,因此建议不要打扰生产代码中的错误。但是在特殊情况下,您尝试调试正在发生的事情,这可能会有所帮助。

因为
OutOfMemoryError是一个
Error,而不是一个
Exception。由于
OutOfMemoryError不是的子类
Exception,因此
catch(Exception e)不适用。
OutOfMemoryError确实可以扩展
Throwable,所以您应该能够抓住它。这是关于何时(如果有)应该捕获错误的SO讨论。通常,由于您对此无能为力,因此建议不要打扰生产代码中的错误。但是在特殊情况下,您尝试调试正在发生的事情,这可能会有所帮助。