【发布时间】:2019-08-31 19:19:11
【问题描述】:
除了AccessViolationException,还有哪些损坏状态异常类型是可能的?
特别是,假设OutOfMemoryException、ThreadAbortedException、SEHException、RuntimeWrappedException 等都不需要使用HandleProcessCorruptedStateExceptionsAttribute 是否会被catch (Exception) 捕获?子句?
我什至对 CLR 有时或总是将哪些异常类型视为 CSE 的示例、猜测、近似值感兴趣。现有的网络资源表明 CSE 几乎是 AccessViolationException 的同义词,但我怀疑即使满足我的适度需求,这也可能太不准确了。
我需要知道,每当我在我主要负责的古老代码中发现 catch (OutOfMemoryException)(或另一个显式处理其他低级异常的构造)时,异常处理代码是否可能无法访问,或者是迁移到 .NET 4 可能导致无法访问。
到目前为止,我最好的选择是扫描异常类型的 Microsoft 文档以查找提到 HandleProcessCorruptedStateExceptionsAttribute,但我想知道这个行为细节是否应该在所有 .NET 4 版本中完全兼容,和/或对受 CLR 更改影响的每种托管异常类型都有详尽的记录。
【问题讨论】:
标签: .net exception clr corrupted-state-exception