Objective-C 学习笔记 - part 11 - 错误处理

Object-C 提供类似 Java / C++风格的错误处理模型,当使用 -fobjc-exceptions 开关(gcc > 3.3)时,它可以工作,但是只限于 OS X v10.3 以后的版本,之前的版本并不提供这一支持。

使用错误捕获的原则与其它语言类似:你不能用它来当作正常的处理流的判断条件,而把它仅仅当作“意外”

可以使用多个 @catch 块来捕获不同的错误类型。

Cup *cup = [[Cup alloc] init];
 
@try {
    [cup fill];
}
@catch (NSException *exception) {
    NSLog(@"main: Caught %@: %@", [exception name], [exception reason]);
}
@finally {
    [cup release];
}

异常类可以是你自己实现的类,不过一般是 NSException 或者它的子类。

更多关于错误处理的讨论见:
http://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/ErrorHandlingCocoa/ErrorHandling/ErrorHandling.html#//apple_ref/doc/uid/TP40001806


posted on 2011-08-19 09:26  沙加  阅读(437)  评论(0编辑  收藏  举报

导航