【问题标题】:Alternative to NSSetUncaughtExceptionHandler on iPhoneiPhone 上 NSSetUncaughtExceptionHandler 的替代方案
【发布时间】:2010-01-20 17:40:46
【问题描述】:

我正在尝试为 iPhone 应用程序创建一个通用错误处理程序,只要在应用程序中引发任何一般错误,它就会将用户带到恢复屏幕,而不是在应用程序中的每个方法周围放置一个 try/catch 块。

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

有没有办法改变这种行为,或者使用任何其他处理程序来捕获一般异常并且不会导致应用程序随后退出?

请不要对这是一个好主意还是坏主意不予回答。

【问题讨论】:

  • 我也遵循同样的方式,比如在每个方法中保留 try catch 块,这似乎不是一个好主意。你是怎么解决这个问题的/

标签: iphone objective-c cocoa-touch


【解决方案1】:

原来的发帖人现在可能已经解决了他的问题。但是,对于将来遇到这种情况的任何人...

Matt Gallagher 在发布此问题几个月后写了一篇出色的 post 关于捕获未处理的异常和信号的文章。我发现它比上面 Scott 引用的 answer 提供的信息要多得多。

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

【讨论】:

    【解决方案2】:

    已回答here。您可以阅读有关响应者链和捕获异常here 的更多信息。来自1 的文章非常好,并解释了如何处理您正在做的事情。

    【讨论】:

      猜你喜欢
      • 2010-10-30
      • 2015-06-13
      • 2011-03-04
      • 2019-04-22
      • 2018-08-07
      • 2017-02-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多