【发布时间】:2010-10-18 23:58:58
【问题描述】:
考虑以下 Cocoa/Obj-C 代码 sn-ps:
MyClass *obj;
@try {
[obj doSomething];
}
@catch (NSException * e) {
NSLog(@"Exception occurred: %@", [e description]);
}
@finally {
[obj cleanUp];
}
和
MyClass *obj;
@try {
[obj doSomething];
}
@catch (NSException * e) {
NSLog(@"Exception occurred: %@", [e description]);
}
[obj cleanUp];
在什么情况下第一个 sn-p 会导致[obj cleanUp] 被调用,而第二个不会导致[obj cleanUp] 被调用?也就是说,在什么情况下@finally在使用Cocoa异常处理时是非冗余的?
【问题讨论】:
标签: objective-c cocoa exception exception-handling try-catch