gpt4 book ai didi

c# - 如何检测程序是否在运行时抛出的异常下执行?

转载 作者:太空狗 更新时间:2023-10-30 00:06:24 25 4
gpt4 key购买 nike

我能否在运行时在方法 Helper() 中检测到程序执行是抛出异常的结果?

请注意,我的目标是避免扩展方法 Helper() 以将异常对象作为输入参数。

public void MyFunc1()
{
try
{
// some code here that eventaully throws an exception
}
catch( Exception ex )
{
Helper();
}
}

public void MyFunc2()
{
Helper();
}

private void Helper()
{
// how can I check if program execution is the
// result of a thrown exception here.
}

最佳答案

有一个可怕的黑客攻击涉及 Marshal.GetExceptionPointersMarshal.GetExceptionCode这不适用于所有平台:

public static Boolean IsInException()
{
return Marshal.GetExceptionPointers() != IntPtr.Zero ||
Marshal.GetExceptionCode() != 0;
}

从这个页面:http://www.codewrecks.com/blog/index.php/2008/07/25/detecting-if-finally-block-is-executing-for-an-manhandled-exception/

关于c# - 如何检测程序是否在运行时抛出的异常下执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3551873/

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