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

Reply via email to