小编Igo*_*hov的帖子

什么时候可以捕获OutOfMemoryException以及如何处理它?

昨天我参加了关于SO专门讨论OutOfMemoryException以及处理它的优缺点的讨论(C#try {} catch {}).

我处理它的专业人士是:

  • 抛出OutOfMemoryException这一事实通常不意味着程序的状态已损坏;
  • 根据文档"下面的Microsoft中间(MSIL)指令抛出OutOfMemoryException:box,newarr,newobj"这只是(通常)意味着CLR试图找到给定大小的内存块并且无法做到这一点; 它意味着没有单字节留在我们的性格;

但并非所有人都同意这一点,并推测在此异常之后未知的程序状态以及无法做一些有用的事情,因为它需要更多的内存.

因此我的问题是:没有处理OutOfMemoryException并在发生时立即放弃的严重原因是什么?

编辑:你认为OOME和ExecutionEngineException一样致命吗?

.net c#

36
推荐指数
7
解决办法
2万
查看次数

标签 统计

.net ×1

c# ×1