Consider the following code:
@try { if (something.notvalid) { return; } // do something else } @catch (NSException *ex) { // handle exception }
With the RAI definition, Finally block will anyhow executed with that code scope, for particular resource.
It has a close meaning with Object's ~Destructor. As same as an object's ~Destructor always executes, finally block also executes.
~Destructor