首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >捕获OutOfMemoryError

捕获OutOfMemoryError
EN

Stack Overflow用户
提问于 2011-03-23 18:40:35
回答 8查看 12.8K关注 0票数 9

在Java中捕获内存不足错误(java.lang.OutOfMemoryError)有意义吗?

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2011-03-23 18:43:02

是,。这里有几个可能有意义的例子:

如果你想通过优雅地关闭

  • 来处理这个问题如果你想向用户显示这个问题或者在你的设计中记录state

,你甚至可以清除内存,

  • a working state

但是,请注意,通常情况下(除非您处于一次分配大量内存的位置),对于这些情况,您可能不会专门捕获OutOfMemoryError,而是在主入口点的顶部执行catch Throwable

票数 11
EN

Stack Overflow用户

发布于 2011-03-23 18:45:30

金科玉律是只捕获你能处理的错误。如果你能在OutOfMemory错误后做一些有用的事情,那就继续吧。

票数 11
EN

Stack Overflow用户

发布于 2011-03-23 18:43:05

不,捕获ExceptionRuntimeException,但几乎从不(从‘never’更改) Error

An Error是Throwable的一个子类,它表示一个合理的应用程序不应该尝试捕获的严重问题。大多数这样的错误都是异常情况。虽然ThreadDeath错误是一种“正常”情况,但它也是Error的一个子类,因为大多数应用程序都不应该尝试捕获它。

备注:

我在这里引用了官方的Javadoc。如果你不同意,告诉甲骨文,不要射杀信使:-)

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5403972

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档