【问题标题】:Getting detailed exception info for unhandled exceptions in Xamarin Android获取 Xamarin Android 中未处理异常的详细异常信息
【发布时间】:2018-03-28 07:28:39
【问题描述】:

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

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

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

如何深入了解内部异常?

【问题讨论】:

标签: visual-studio xamarin.android


【解决方案1】:

这是来自我们的一个应用程序的 sn-p,我们只是针对当前域的 UnhandledException 事件创建一个委托,我们在应用程序的“MainApplication”类中执行此操作(有些人使用“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
                    );
            };

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多