objective-c - @try @catch 不起作用

标签 objective-c ios crash try-catch

运行代码会导致崩溃。

 -(NSString*) ExtractStringKeyValue:(NSString*)key
{
    @try {
    NSRange  start = [_responceInfo rangeOfString:key];
    NSRange end  = [[_responceInfo substringFromIndex:start.location + start.length+2] 
                      rangeOfString:@"\""];

    NSRange rang = NSMakeRange(
                               start.location + start.length+1
                               , end.location+1);
    return [_responceInfo substringWithRange:rang];
    }
    @catch (NSException * e) {
        NSLog(@"Exception: %@", e);
    }
    @finally {
        NSLog(@"finally");
    }
}

调试控制台:

2012-02-27 01:10:16.254 Clicky [8665:9203] 异常:* -[NSCFString substringFromIndex:]:范围或索引超出范围

2012-02-27 01:10:16.255 Clicky[8665:9203] 终于

请帮忙。

最佳答案

正如我们在控制台中看到的输出,您的代码通过 @finally block :

2012-02-27 00:28:02.794 Clicky[8409:9203] finally

并根据错误信息Terminating app due to uncaught exception 'NSRangeException', reason: '* -[NSCFString substringFromIndex:]: Range or index out of bounds' ,我可以告诉你,你的问题不在这个方法上。

关于objective-c - @try @catch 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9457973/

相关文章:

iphone - 如何在 UIPickerView Controller 中为我的 UIImageView 正确处理带有图像的内存警告?

ios - NSCondition 或 @synchronized

ios - 在 UITabBarController 中强制横向显示特定的 View Controller

c++ - 两次设置 QApplication::style 后程序崩溃

为二维数组调用 free() 会产生 seg。过错

winforms - .NET WinForms 启动崩溃

ios - 我正在使用 dchohfi 开发的 KeyValueObjectMapping。但在映射 JSON 对象数组时面临问题

javascript - jQuery - Safari/iOS 中 SqlResultsetRowList 上的 $.each

ios - 将 React Native RCTRootView 关闭回 Native ViewController

ios - (lldb) Firebase 错误