>>10
To expand on this, look how fucking complex the rules on exceptions and autorelease pools are:
http://chanson.livejournal.com/126035.html
At first glance, this looks fine. After all, if -doSomething throws an exception, the autorelease pool will still be cleaned up when the next autorelease pool "out" in scope is released. However, this could actually happen before the exception is delivered — by the release of an outer autorelease pool in a @finally block — meaning the exception would be a zombie on delivery!
Fucking fantastic. Freeing an exception before it's even caught; well done Obj-C.