我在野外出现了一个令人讨厌的bug,我无法将它放在手指上。有没有办法建立一个Global Try/Catch块,或者一种方法来处理任何MonoTouch中没有提到的异常。Monotouch全局异常处理
我可以将UIApplication.Main(args)
换成try catch吗?
发现异常后,Id想显示一个UIAlertView来显示结果。
任何帮助?
我在野外出现了一个令人讨厌的bug,我无法将它放在手指上。有没有办法建立一个Global Try/Catch块,或者一种方法来处理任何MonoTouch中没有提到的异常。Monotouch全局异常处理
我可以将UIApplication.Main(args)
换成try catch吗?
发现异常后,Id想显示一个UIAlertView来显示结果。
任何帮助?
您可以将UIApplication.Main(args)包装在try {} catch {}中,但由于我们解开了包括所有UI的整个堆栈,因此您无法在此处显示UIAlertView。你可以做的是将异常记录到应用程序包的Documents文件夹中的崩溃文件中,并在下次启动时显示或者将其上传到Web服务。
Exceptioneer家伙们也在研究MonoTouch支持,这可能值得研究。
嘿杰夫,在下面的答案中看到你的问题... – Ethan 2011-01-31 21:10:09
试图解决,如果Exceptioneer是遗弃或不... – tomfanning 2011-04-15 11:12:26
我已经成功使用未处理的异常处理程序,即AppDomain.CurrentDomain.UnhandledException
事件。这似乎捕获了许多(但不是全部)未处理的异常。看起来,非托管代码中的崩溃可能会导致应用程序失败,而无需调用此事件。
杰夫:捕获此事件除了捕捉异常掉落UIApplication.Main
有意义或将其中一种方法是首选?
不确定这是否在Monotouch中,但在您要使用的窗口上http://msdn.microsoft.com/en-us/library/system.windows.application.unhandledexception(v = vs.95).aspx – Nate 2011-01-28 16:22:41