पर विचार करें निम्नलिखित कोको/Obj सी कोड के टुकड़े:कोको के प्रयास/पकड़/आखिरकार अपवाद हैंडलिंग में कौन सा परिस्थितियां @ अनजान गैर-अनावश्यक है?
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];
किन परिस्थितियों [obj cleanUp]
में पहली टुकड़ा परिणाम बुलाया जा रहा है, जबकि दूसरा नहीं होगा परिणाम [obj cleanUp]
में कहा जा रहा है? दूसरे शब्दों में, कोको अपवाद हैंडलिंग का उपयोग करते समय @finally
गैर-अनावश्यक क्या परिस्थितियों में है?
एफवाईआई, यहां एप्पल के डॉक्टर का विवरण है कि @ try/@ catch/@ throw/@ के साथ मेमोरी प्रबंधन कैसे करें, अंत में अपवाद हैंडलिंग: http://developer.apple.com/mac/library/documentation/Cocoa/Conceptual/ अपवाद/कार्य/हैंडलिंग एक्सेप्शन.html # // apple_ref/doc/uid/20000059-SW7 –