如果我在Xamarin Android中遇到未处理的异常,就像使用Visual Studio调试一样,我会得到以下弹出窗口:
如果我点击复制详细信息,我会
未处理的异常:System.AggregateException:发生了一个或多个错误。发生
如何深入了解内部异常?
答案 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
);
};