Objective-c Try/Catch 没有捕捉到

标签 objective-c ios try-catch-finally nsexception

是否有以下原因不起作用?

@try {
    CFGetTypeID( NULL );
}
@catch (NSException * e) {
    NSLog(@"Exception: %@", e);
}
@finally {
    NSLog(@"finally");
}

类似于 try/catch question ,只是似乎上面的 block 每次都崩溃。我知道我的调试器设置正确,因为我在上面设置了另一个问题的 try/catch:
// Test working try catch
NSString* test = [NSString stringWithString:@"ss"];

@try {
    [test characterAtIndex:6];
}
@catch (NSException * e) {
    NSLog(@"Exception: %@", e);
}
@finally {
    NSLog(@"finally");
}

// Now test NULL entry
@try {
    CFGetTypeID( NULL );
}
@catch (NSException * e) {
    NSLog(@"Exception: %@", e);
}
@finally {
    NSLog(@"finally");
}

最佳答案

是的,有一个非常简单的原因。即,CFGetTypeID(NULL)没有抛出异常。它正在崩溃。你无法捕捉到这样的崩溃。

关于Objective-c Try/Catch 没有捕捉到,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9745581/

相关文章:

objective-c - NSData 或来自 CMSampleBufferRef 的字节

objective-c - iOS CAKeyFrameAnimation 旋转

Python 错误处理 : finally vs. 新行缩进

iphone - 将多个上下文与核心数据一起使用时出现错误 133000

powershell - Try..catch..最终在读取主机期间失败

java - 关于finally block

objective-c - XCode 7.2 中的测试包中没有错误突出显示

python - 给定一个对象的地址,我如何在 LLDB Python 脚本中调用它的 Obj-C 方法?

ios - 我如何使用 Swift 格式化这些数据以便后端可以读取它?

ios - 在标签或 TextView 中使用核心数据显示整数值( Objective-C )