我有点困惑
我在http://www.gkseries.com/中发现,当JVM内存不足时抛出的异常是OutOfMemoryException。我没有得到这个。提前谢谢。
答案 0 :(得分:2)
所有选择都是错误的,因为没有OutOfMemoryException
这样的事情 - 只有OutOfMemoryError
。虽然这似乎没什么大不同,但它仍然很重要:
OutOfMemoryError
不会扩展Exception
而是扩展Error
,因此它可能不会被catch (Exeption e)
子句捕获(但是无论如何捕获通用异常都是不好的样式,你应该选择捕获您知道可以处理的特定异常。)
OutOfMemoryError
有几个falours取决于JVM缺少哪种资源 - 例如它可能超出了堆空间,超出了perm-gen(仅限于java 7),无法开始一个新的主题。