C# 为什么这个未处理的异常事件处理程序不工作?

C# 为什么这个未处理的异常事件处理程序不工作?,c#,uncaughtexceptionhandler,C#,Uncaughtexceptionhandler,异常后无法执行代码,正在打印 ccccc 但不打印 例外之后 代码显示捕获的异常,然后存在 static void Main(string[] args) { AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(MyHandler); // using System.Diagnostics; // Application.ThreadException

异常后无法执行代码,正在打印

ccccc

但不打印

例外之后

代码显示捕获的异常,然后存在

static void Main(string[] args)
{      
    AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(MyHandler); // using System.Diagnostics;

    //   Application.ThreadException += new System.Threading.ThreadExceptionEventHandler(OnThreadException);

    Process p = Process.GetProcessById(1000);

    Console.WriteLine("AFTER_EXCEPTION");

    Console.ReadLine();
}

static void MyHandler(object sender, UnhandledExceptionEventArgs args)
{
    Console.WriteLine("cccc");

    Exception temp = (Exception)args.ExceptionObject;
    Console.WriteLine("MyHandler caught : " + temp.Message);
    Console.WriteLine("MyHandler caught : " + temp.TargetSite);           
}     

设置一个全局异常处理程序是很好的,但是您仍然需要使用C#机制,尝试…捕获

如果它抛出一个异常,而全局处理程序捕捉到它,它将不会在异常点恢复,因为它不知道如何恢复


因此,线索就在名称中,它用于未处理的异常(未捕获),通常用于日志记录和优雅的清除,而不是C#等效的Visual Basic错误恢复机制。

哪里有异常?添加了一句话来显示部分代码。请提供您的详细问题这是一个非常糟糕的问题,您没有提供详细信息NB:这个答案基于我从阅读您的代码中得到的假设,您应该添加一些详细信息,解释您的推理以及您对该代码的期望。