Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
创建一条错误消息,报告来自C#应用程序内部任何位置的崩溃_C#_Error Handling - Fatal编程技术网

创建一条错误消息,报告来自C#应用程序内部任何位置的崩溃

创建一条错误消息,报告来自C#应用程序内部任何位置的崩溃,c#,error-handling,C#,Error Handling,我有一个用C语言编写的可执行文件,它在一台计算机上运行良好,但在另一台计算机上崩溃时没有提供错误 是否有一个类可以添加到我的代码中,该类将转储与崩溃相关的所有信息,无论代码中的错误发生在何处 我看过这篇文章,但我希望创建一个“一网打尽”的错误处理类,该类将存在于我的代码中。尝试AppDomain异常处理程序: 代码示例: class Program { static void Main(string[] args) { AppDo

我有一个用C语言编写的可执行文件,它在一台计算机上运行良好,但在另一台计算机上崩溃时没有提供错误

是否有一个类可以添加到我的代码中,该类将转储与崩溃相关的所有信息,无论代码中的错误发生在何处


我看过这篇文章,但我希望创建一个“一网打尽”的错误处理类,该类将存在于我的代码中。

尝试AppDomain异常处理程序:

代码示例:

class Program
    {
        static void Main(string[] args)
        {
            AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;

            var thr = new Thread(() =>
            {
                Thread.Sleep(1000);
                throw new Exception("Custom exception from thread");
            });
            thr.Start();
            thr.Join();

            Console.WriteLine("Done");
        }

        static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
        {
            //Log information from e.ExceptionObject here
        }
    }

在本例中,注册一个自定义全局异常处理程序,然后启动一个线程,该线程在1秒后抛出异常。然后调用全局异常处理程序,并抛出自定义异常。

在“其他”pc上调试项目并检查错误发生的位置。您尚未说明这是什么类型的应用程序。ASP.NET应用程序中的全局异常处理通常不同于WinForms应用程序,例如。道歉。这是一个XNA Framework 4.0项目,其中还包含用于加载和保存文件的WinForms代码。我想知道这是否适用于承载多个文件的应用程序AppDomains@Leo不,似乎没有。但是,如果您要创建更多的应用程序域,那么为每个应用程序域注册相同的未处理异常处理程序通常很简单。