Monotouch全局例外处理

我正在野外出现一个令人讨厌的虫子,我不能把手指放在上面。 有没有办法有一个全球尝试/捕捉块,或者一种方式来处理任何exception,MonoTouch中无人。

我可以只包装UIApplication.Main(args)在尝试捕获?

在捕获exception之后,我想显示一个UIAlertView来显示结果。

任何帮助?

您可以将UIApplication.Main(args)包装在try {} catch {}中,但是您不能在此处显示UIAlertView,因为我们已经展开了包括所有UI的整个堆栈。 你可以做的是将exceptionlogging到应用程序包的Documents文件夹中的崩溃文件,并在下次启动时显示或者将其上传到Web服务。

exception人们也在研究MonoTouch支持,这可能值得研究。

我已经成功使用未处理的exception处理程序,即AppDomain.CurrentDomain.UnhandledException事件。 这似乎捕获了许多(但不是全部)未处理的exception。 看起来,在非托pipe代码崩溃可能会导致应用程序失败,而无需调用此事件。

Geoff :除了捕获UIApplication.Mainexception外,还将捕获这个事件。主要是有意义的,还是其中一种方法是首选的?