获取Xamarin Android中未处理异常的详细异常信息

时间:2018-03-28 07:28:40

标签: visual-studio xamarin.android

如果我在Xamarin Android中遇到未处理的异常,就像使用Visual Studio调试一样,我会得到以下弹出窗口:

enter image description here

如果我点击复制详细信息,我会

  

未处理的异常:System.AggregateException:发生了一个或多个错误。发生

如何深入了解内部异常?

1 个答案:

答案 0 :(得分:1)

这是我们其中一个应用程序的代码段,我们只是针对当前域的UnhandledException事件创建一个委托,我们在我们的应用程序中执行此操作' MainApplication' class(有些人使用' MainActivity'相反,如果他们没有实现生命周期回调插件)。

基本上你想在任何一个类别的应用程序主要起点上执行此操作。

供参考' ApplicationLog'我只是创建了一个将文件目录写入日志文件的类,你可以在这个类中做任何你想做的事,这里的关键是' e'将包含您的堆栈跟踪信息。

值得注意的是,值得注意的是,AggregateException通常是由Task,Parallel ForEach语句甚至SQL命令等中的代码抛出的。

希望这有帮助。

            AppDomain.CurrentDomain.UnhandledException += (object sender, UnhandledExceptionEventArgs e) =>
            {
                // Record the error in our application logs
                ApplicationLog.AppendFile(
                    DateTime.Now.ToString() + "  :  " + "[CRITICAL GLOBALLY HANDLED EXCEPTION] - Critical exception has been hit! - Message: " + e.ExceptionObject +
                        System.Environment.NewLine + System.Environment.NewLine +
                            "========= Critcal Error has been hit, application closed =========" +
                                System.Environment.NewLine + System.Environment.NewLine
                    );
            };
相关问题