我已阅读 this article试图找到:“哪个异常终止了整个进程”(iis,所以基本上应用程序池终止 - w3wp.exe
)
我已经知道(根据我的经验):
我已阅读 Hans' answer here重定向到
SSCLI20
他给出了代码示例的源代码:TerminateProcess(GetCurrentProcess(), COR_E_STACKOVERFLOW);
所以我下载了SSCLI20
并搜索了更多 TerminateProcess(GetCurrentProcess()...
并找到了这些条目:但我不确定这是否是整个列表,即使是这样 - 也不是很清楚。
问题
我在哪里可以找到终止进程的完整异常列表?
最佳答案
找到了。
里希特来救援。
专业术语称为:损坏状态异常 (CSE'e)
损坏状态异常 (CSE):这些是无法捕获的异常。幕后环境的 FailFast 方法会引发这些异常之一。因此,它无法被捕获并且您的应用程序以未处理的异常结束。
从书:
更多的 :
重要的 :
注:即使使用属性 HandleProcessCorruptedStateExceptions,我们也无法处理以下异常,出于给定的原因:
StackOverflowException
- 由于这是硬件故障,并且没有更多堆栈可用于进一步处理(感谢 Abel Braaksma 指出这一点)。ExecutionEngineException
- 它是由于堆内存损坏而发生的,因此无法进一步处理(引用)。通过 Abhishek Sur 的另一个有用链接:
http://dailydotnettips.com/2013/09/23/corruptedstateexceptions-in-net-a-way-to-handle/
关于.net - 哪个异常终止进程? (iis 的 w3wp),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23741153/