我在野外出現了一個令人討厭的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