哪个例外终止进程?(是的w3wp)

Roy*_*mir 7 .net iis exception

我读过这篇文章试图找到:"哪些例外终止了整个过程"(即,基本上应用程序池终止 - w3wp.exe)

我已经知道(根据我的经验):

  • StackOverflow异常确实终止
  • Outofmemory异常也终止

我已经在这里阅读了Han的答案,答案重定向到SSCLI20源代码,他给出了代码示例:

TerminateProcess(GetCurrentProcess(), COR_E_STACKOVERFLOW);

所以我下载SSCLI20并搜索了更多内容TerminateProcess(GetCurrentProcess()...

并找到了这些条目:

在此输入图像描述

但我不确定这是整个清单,即使如此 - 也不是很清楚.

我在哪里可以找到终止该过程的 完整例外列表?

Roy*_*mir 4

找到了。
里克特前来救援。

专业术语叫做:损坏状态异常(CSE'e)

损坏状态异常(CSE):这些是无法捕获的异常。在幕后,Environment 的 FailFast 方法会抛出这些异常之一。因此,它无法被捕获,并且您的应用程序会以未处理的异常结束。

摘自书本:

在此输入图像描述

更多的 :

在此输入图像描述

重要的 :

注意:即使使用 HandleProcessCorruptedStateExceptions 属性,由于给定原因,我们也无法处理以下异常:

  • StackOverflowException- 由于这是硬件故障,并且没有更多堆栈可用于进一步处理(感谢 Abel Braaksma 指出了这一点)。

  • ExecutionEngineException- 这是由于堆内存损坏而发生的,因此无法进一步处理(参考)。

来自 Abhishek Sur 的另一个有用链接:

http://dailydotnettips.com/2013/09/23/corruptedstateexceptions-in-net-a-way-to-handle/