gpt4 book ai didi

c# - 捕获所有异常

转载 作者:行者123 更新时间:2023-11-30 15:00:42 25 4
gpt4 key购买 nike

我有一个项目可能会在任何函数和对象上抛出异常,有没有一种方法可以捕获整个框架/程序中的所有异常,以便我可以记录它们,以便以后可以看到它们?我想要调用堆栈和异常消息。我不一定知道异常将在何处抛出,但我想记录在程序的整个生命周期中任何地方发生的任何异常。有没有办法做到这一点?我不想尝试并捕获任何可能的异常抛出函数。程序会因为未处理的异常而中断,但我想先记录它。

最佳答案

是的,有一种方法可以做到这一点。在 main 中写下以下几行:

// Add the event handler for handling UI thread exceptions to the event.
Application.ThreadException += new ThreadExceptionEventHandler(MainForm_UIThreadException);

// Set the unhandled exception mode to force all Windows Forms errors to go through
// our handler.
Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException);

// Add the event handler for handling non-UI thread exceptions to the event.
AppDomain.CurrentDomain.UnhandledException +=
new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);

然后处理异常

private static void MainForm_UIThreadException(object sender, ThreadExceptionEventArgs t)
{
//do something
}

private static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
{
//do something
}

关于c# - 捕获所有异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15235977/

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