Objective c 目标-c尝试/捕获未捕获

Objective c 目标-c尝试/捕获未捕获,objective-c,ios,try-catch-finally,nsexception,Objective C,Ios,Try Catch Finally,Nsexception,有没有一个原因可以解释为什么下面的方法不起作用 @try { CFGetTypeID( NULL ); } @catch (NSException * e) { NSLog(@"Exception: %@", e); } @finally { NSLog(@"finally"); } 类似于,只是上面的块似乎每次都会崩溃。我知道我的调试器设置正确,因为我在上面的另一个问题中设置了try/catch: // Test working try catch NSString*

有没有一个原因可以解释为什么下面的方法不起作用

@try {
    CFGetTypeID( NULL );
}
@catch (NSException * e) {
    NSLog(@"Exception: %@", e);
}
@finally {
    NSLog(@"finally");
}
类似于,只是上面的块似乎每次都会崩溃。我知道我的调试器设置正确,因为我在上面的另一个问题中设置了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)
没有引发异常。它要崩溃了。你无法捕捉到这样的崩溃。

是的,原因很简单。也就是说,
CFGetTypeID(NULL)
没有引发异常。它要崩溃了。你不能赶上这样的撞车事故