我正在尝试为iPhone应用程序创建常规错误处理程序,以便在应用程序中抛出任何常规错误时都将用户带到恢复屏幕,而不会在应用程序中的每个方法周围都放置try/catch块。

使用NSSetUncaughtExceptionHandler不起作用,因为应用程序在处理程序运行后终止。

是否有任何方法可以更改此行为,或使用任何其他处理程序来捕获一般异常并且不会导致应用程序随后退出?

而且,请不要犹豫,这是一个好主意还是一个坏主意。

最佳答案

原来的海报现在可能已经解决了他的问题。但是,对于将来遇到此问题的任何人...

马特·加拉格尔(Matt Gallagher)写了一篇很棒的post关于捕获未处理的异常,并在此问题发布几个月后发出信号。我发现它比Scott上面引用的answer提供更多信息。

尤其是,马特(Matt)的帖子描述了如何尝试进行恢复(如果适用),该恢复允许您的应用继续运行,甚至在需要时甚至显示带有错误信息的UIAlertView(提示:这涉及创建新的运行循环)。

10-08 08:26