未处理的异常未被处理程序捕获

本文关键字:程序 处理 异常 未处理 | 更新日期: 2023-09-27 18:07:43

我们以以下方式注册了未处理的异常。应用程序是一个远程服务器。如果从远程服务器抛出未处理异常,则未处理异常处理程序不会处理该异常。有什么问题吗?

[STAThread]
[Obfuscation(Exclude = true)]
static void Main(string[] args)
{
    Application.ThreadException += new ThreadExceptionEventHandler(OnThreadException);
    AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(OnUnhandledException);
    .
    .
    .
    Application.EnableVisualStyles();
    Application.Run(form);
}

未处理的异常未被处理程序捕获

希望这个方法可以帮助您'Application.SetUnhandledExceptionMode'。它指示应用程序如何响应未处理的异常。

static void Main(string[] args)
{
    Application.ThreadException += new ThreadExceptionEventHandler(OnThreadException);
    AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(OnUnhandledException);
    Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException);
    Application.EnableVisualStyles();
    Application.Run(form);
}

如果是远程服务器,并且异常是作为客户端交互的一部分发生的,那么异常将被发送到客户端,而不会导致服务器崩溃。