gpt4 book ai didi

c# - HandleProcessCorruptedStateExceptions 不适用于 StackOverflow 异常

转载 作者:太空宇宙 更新时间:2023-11-03 13:11:42 28 4
gpt4 key购买 nike

根据我的实践,HandleProcessCorruptedStateExceptions 不适用于 StackOverflow 异常但适用于 AccessViolationException。

来自 this post 的 AccessViolationException被捕获:

public class Test
{
public static void Main(string[] args)
{
Wtf();
}

[SecurityCritical]
[HandleProcessCorruptedStateExceptions]
private static void Wtf()
{
try
{
IntPtr ptr = new IntPtr(1000);
Marshal.StructureToPtr(1000, ptr, true);
}
catch (Exception e)
{
Environment.Exit(1);
}
}
}

自己编写的 StackOverflow 异常,什么也没捕获。

public class Test
{
public static void Main(string[] args)
{
Wtf();
}

[SecurityCritical]
[HandleProcessCorruptedStateExceptions]
private static void Wtf()
{
try
{
F();
}
catch (Exception e)
{
Environment.Exit(1);
}
}

private static void F()
{
F();
}
}

谁能解释一下?谢谢!

最佳答案

StackOverflowException 不被 .NET 视为损坏状态异常,因此无法以这种方式捕获。参见 How do I prevent and/or handle a StackOverflowException?有关如何执行此操作的其他一些答案。

关于c# - HandleProcessCorruptedStateExceptions 不适用于 StackOverflow 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28307214/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com