Objective-C如何获取抛出异常的行号

时间:2012-11-15 08:59:57

标签: objective-c exception line

我在try-catch结构中使用它来获取信息 抛出异常的方法:

NSLog(@"%@", NSStringFromSelector(_cmd));

我想知道Xcode 4中是否还有一种方法可以获得发生错误的行号。

任何提示?

3 个答案:

答案 0 :(得分:2)

您可能会发现有一个__LINE__宏有用,请参阅此previous question获取灵感。

答案 1 :(得分:1)

@catch子句中尝试此操作:

NSLog(@"Stacktrace: %@", [NSThread callStackSymbols]);

在开发期间,您可以在objc_exception_throw上设置符号断点,并查看Xcode调试器中发生错误的位置。

答案 2 :(得分:1)

您可以在Xcode左侧的Break Point Navigator菜单中添加一个异常断点,这将阻止您发生异常时的位置