On Oct 15, 2010, at 3:42 PM, Tito Ciuro wrote:

> Hello,
> 
> I'm implementing a method and I'm not sure what the behavior should be when 
> detecting an anomaly.
> 
> Case in point: I have a method that iterates through an array of objects. As 
> I traverse the array, I'm, checking whether the object in the array conforms 
> to a custom protocol. If it does, everything is fine and I process it. 
> However, if at some point I detect that the array contains a non-conforming 
> object, what should the method do?:
> 
> a) skip the non-conforming object and continue processing and return a BOOL 
> or fill an NSError?
> b) stop processing and return a BOOL or fill an NSError?
> c) throw an exception?

http://developer.apple.com/library/ios/#documentation/cocoa/Conceptual/Exceptions/Exceptions.html%23//apple_ref/doc/uid/10000012i
http://developer.apple.com/library/ios/#documentation/cocoa/Conceptual/ErrorHandlingCocoa/ErrorHandling/ErrorHandling.html%23//apple_ref/doc/uid/TP40001806

It depends on your situation: if you expect this situation to occur in normal 
usage, you shouldn't throw an exception. If the situation you describe means 
you've got a bug in your program, an exception or an assert is the right answer.

Cheers,
Hank

PS. These links happen to be in the iOS library (Google ranks iOS higher than 
Mac OS these days), but afaik the Mac OS docs are identical.

> Since the method would end up processing less objects that the developer 
> intended, I wonder what Cocoa developers would expect in this case...
> 
> Thanks,
> 
> -- Tito
> _______________________________________________
> 
> Cocoa-dev mailing list ([email protected])
> 
> 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/hank.list%40runbox.com
> 
> This email sent to [email protected]
> 

_______________________________________________

Cocoa-dev mailing list ([email protected])

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 [email protected]

Reply via email to