Advanced Mac OS X Programming: The Big Nerd Ranch   5. Exceptions, Error Handling, and Signals