我正在尝试为iPhone应用程序制作一个常规错误处理程序,它可以在应用程序中出现任何常规错误时将用户带到恢复屏幕,而不必在应用程序中的每个方法周围放置try/catch块。
使用 NSSetUncaughtExceptionHandler 不起作用,因为应用程序在处理程序运行后终止。
NSSetUncaughtExceptionHandler
是否有任何方法可以更改此行为,或者使用任何其他处理程序来捕获一般的异常,而不会导致应用程序随后退出?
请不要回答这个主意是好是坏。
原来的海报现在可能已经解决了他的问题。然而,对于将来遇到这种情况的人…
马特·加拉赫写了一篇优秀的 post 在这个问题发布几个月后捕获未处理的异常和信号。我发现它比 answer 上面提到的斯科特。
特别是,Matt的文章描述了如何尝试恢复(如果合适),使你的应用程序 坚持跑步 ,如果需要,甚至显示带有错误信息的uialertview(提示:它涉及创建新的运行循环)。
回答了这个问题 here . 您可以阅读有关响应程序链和捕获异常的更多信息 here . 写自 1 非常好,并解释了如何处理你正在做的事情。