What is the lifecycle of an object caught in a @catch block?
问题 When you catch an exception in an ObjC @catch block, what is the lifecycle of that exception object? I know I can safely use it inside the block, but what if I want to use it again after the block, like this? NSException * exception = nil; @try { // do something risky } @catch(NSException * e) { exception = e; } if (exception) { NSLog(@"Caught exception: %@", exception); } Can I safely stash the reference into another local? Should I be retain, autorelease ing it for safety? Can I retain it