iPhone上替代NSSetUncaughtExceptionHandler的方法

8
我正在尝试为iPhone应用程序制作一个通用错误处理程序,每当应用程序中抛出任何一般错误时,都会将用户带到恢复屏幕,而不需要在应用程序的每个方法周围放置try/catch块。
使用 NSSetUncaughtExceptionHandler 无效,因为处理程序运行后应用程序终止。
是否有任何改变此行为的方法或使用其他处理程序来捕获异常并不会导致应用程序之后退出?
请注意,不要提供关于这是好主意还是坏主意的非答案。

我也一直以来都像你一样,在每个方法中都加入try catch块,但这似乎不是一个好主意。你是如何解决这个问题的? - siva
2个回答

11

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

在这个问题发布几个月后,Matt Gallagher撰写了一篇关于捕获未处理异常和信号的杰出文章 (文章)。 我发现它比Scott在上面引用的答案更具信息量。

特别是,Matt的文章描述了如何尝试恢复(如果适用),使您的应用程序可以继续运行,甚至如果需要,显示带有错误信息的UIAlertView(提示:它涉及创建新的运行循环)。


2

关于这个问题的解答可以在这里找到。你可以在这里了解更多响应链和捕获异常的内容。来自1的文章非常好,说明了如何处理你正在进行的工作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接