gpt4 book ai didi

c# - 如何处理来自 C# 的非托管 Win32 异常

转载 作者:行者123 更新时间:2023-11-30 03:57:27 27 4
gpt4 key购买 nike

大家好,我想弄清楚是否有可能在托管代码中捕获(或至少抑制)所有类型的非托管异常?我已经在这里看到了很多问题,但我仍然不清楚,哪些类型的异常是可捕获的,哪些不是?

举个例子,我编写了一个执行除以零的 C++ 程序:

printf("Hello from unmanaged code\n");
int a = 0;
printf("%d\n", 10 / a);
return 0;

还有一个 C# 应用程序

        try
{
Process p = new Process();
p.StartInfo.FileName = "test.exe";
p.Start();
p.WaitForExit();
Console.WriteLine("success");
}
catch (Win32Exception)
{
Console.WriteLine("1");
}
catch(ExternalException)
{
Console.WriteLine("2");
}
catch
{
Console.WriteLine("3");
}

这里没有一个catch不触发,出现程序终止窗口,关闭后,C#程序继续正常执行。

最佳答案

无论使用何种语言或 catch-block-usage,您都无法处理来自不同进程的异常

关于c# - 如何处理来自 C# 的非托管 Win32 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27961203/

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