如何在iPhone中捕获所有异常?

3
我需要在iPhone应用程序中捕获所有异常和错误。显然,这仅适用于非常奇怪的情况,其中异常或错误完全出乎意料。在这些情况下,记录错误或其他信息会很好,以便了解问题并在将来修复它。
您知道一种可以捕获可能从更具体的处理程序中滑过的所有异常或错误的方法吗?
谢谢!

我的问题的补充:如果可能的话,该方法应该捕获所有线程上的所有错误和异常!谢谢! :) - Manuel Araoz
1
可能是重复的问题:如何捕获全局异常? - pgb
1个回答

10

在您的应用程序委托中放置此函数(请注意,它不是一个方法,而是一个独立的函数):

// global uncaught exception handler
void uncaughtExceptionHandler(NSException *exception) {
    [FlurryAPI logError:@"Uncaught" message:@"Crash!" exception:exception];
}

并且在你的applicationDidFinishLaunching*方法的顶部:

    // uncaught exceptions
    NSSetUncaughtExceptionHandler(&uncaughtExceptionHandler);

5
如果你不这样做,那么这个想法还是一样的。 - Manuel Araoz

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