I'm trying to understand when to use exception handling when developing Cocoa applications. In regard to this, two points stand out to me in Apple's documentation:
"exceptions are resource-intensive in Objective-C" "Conditions giving rise to exceptions are due to programming errors; you should deal with these errors before you ship a product." Taken together, I am thinking that: 1. it makes sense to use exception handling to force myself to think about likely exceptional conditions 2. however, final production code should not contain exception handling routines, as I should instead eliminate the potential for exceptions to occur Just as some further context, here is what I believe I understand from the documentation distinguishing exceptions from error conditions (just to be clear about what I am talking about): Error objects and exception objects serve different purposes and should not be confused: - Exceptions (represented by NSException objects) are for programming errors, such as: - when there is an attempt to access a collection element out of bounds - when there is an invalid method argument - when a resource is relied upon but is unavailable (such as an uninitialized global variable for instance) - when an unimplemented method is called - out-of-bounds collection access - attempts to mutate immutable objects - sending an invalid message - losing the connection to a server - In contrast, errors (represented by NSError objects) are for runtime errors, such as: - when a file cannot be found - a string in a certain encoding cannot be read Anyone care to validate my thinking that production code should generally not contain exception handling routines? _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com