Xamarin.ios Xamarian/MonoTouch:将System.Exception转换为NSException

Xamarin.ios Xamarian/MonoTouch:将System.Exception转换为NSException,xamarin.ios,xamarin,Xamarin.ios,Xamarin,我正在使用以下绑定将Flurry Analytics集成到我的Xamarin/MonoTouch iOS应用程序中: 现在,我想使用Flurry Analytical的错误日志: void LogError (string errorID, string message, NSException exception); 我在AppDelegate中捕获以下代码的异常: AppDomain.CurrentDomain.UnhandledException += (object sender,

我正在使用以下绑定将Flurry Analytics集成到我的Xamarin/MonoTouch iOS应用程序中:

现在,我想使用Flurry Analytical的错误日志:

void LogError (string errorID, string message, NSException exception);
我在AppDelegate中捕获以下代码的异常:

AppDomain.CurrentDomain.UnhandledException += (object sender, UnhandledExceptionEventArgs e) => { /**/ };
然而,据我所知,Xamarin/MonoTouch已将所有NSException转换为System.Exception

是否可以将System.Exception转换回NSException,以便我可以在LogError例程中使用它


或者可以在Xamarin/MonoTouch项目中捕获N异常吗?

为什么不在AppDelegate类中使用UncaughtExceptionHandler?他们在你提到的github页面上有一个示例

static void UncaughtExceptionHandler(IntPtr handle)
        {

            var exception = new NSException(handle);
            FA.Flurry.LogError("3584", exception.Reason, exception);

            Console.WriteLine(@"Got an exception...{0} -- {1}", exception.Name, exception.Reason);
        }

编辑:
该示例还显示了如何记录系统异常。

中的异常是否确定UncaughtExceptionHandler静态方法应该工作?我没有发现任何例外。他们注释掉了一些DllImport代码,我认为这些代码是用来捕获异常的。但是,取消注释不会编译它。在另一个链接中,他们创建一个新的NSError,并使用错误消息+这个新的错误对象提供Flurry Analytics。这可能是一种选择。但是,如果能在Flurry中看到原始异常的堆栈信息,那就太好了。正如在第二个链接中演示的,还可以记录System.Exception。只需在日志记录时将ex.Message与ex.StackTrace连接起来。