是否有以下原因不起作用?
@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/