Betrachten Sie die folgenden Cocoa/Obj-C-Codefragmente:
MyClass *obj;
@try {
[obj doSomething];
}
@catch (NSException * e) {
NSLog(@"Exception occurred: %@", [e description]);
}
@finally {
[obj cleanUp];
}
y
MyClass *obj;
@try {
[obj doSomething];
}
@catch (NSException * e) {
NSLog(@"Exception occurred: %@", [e description]);
}
[obj cleanUp];
Unter welchen Umständen führt das erste Snippet zu [obj cleanUp]
aufgerufen wird, während die zweite wird nicht zur Folge haben [obj cleanUp]
angerufen werden? Mit anderen Worten, unter welchen Umständen ist @finally
nicht redundant bei der Verwendung von Cocoa Exception Handling?