Re: @try @catch
Re: @try @catch
- Subject: Re: @try @catch
- From: Uli Kusterer <email@hidden>
- Date: Thu, 14 Aug 2008 22:52:17 +0200
On 14.08.2008, at 20:38, Michael Watson wrote:
On 14 Aug, 2008, at 08:45, Uli Kusterer wrote:
On 14.08.2008, at 12:58, Georg Seifert wrote:
is it recommended to use @try .. @catch blocks as flow control
like it is used in Python. They say explicitly to use it rather
than do a lot of test before just try if it works to look after it
only if it fails.
Apple's stance on exceptions so far has been that, with the
exception of some proxy objects (e.g. Distributed Objects), they
should be used in Cocoa for programming errors only. Otherwise,
you're supposed to return a BOOL, or an NSError, e.g. via a
reference parameter, if more detailed failure info is needed.
Whether I consider that good or bad, it's what Apple recommend.
Don't forget that many of Apple's own methods return nil on failure
and don't implement an NSError reference mechanism. NSFileManager's -
contentsAtPath: method returns either an NSData object on success or
nil on failure.
That's historical. NSError is a comparatively new class. APIs that
predate it obviously won't have it. Also, for some APIs an error
reason isn't very interesting, so those might only provide a BOOL or
return NIL as well.
Cheers,
-- Uli Kusterer
"The Witnesses of TeachText are everywhere..."
http://www.zathras.de
_______________________________________________
Cocoa-dev mailing list (email@hidden)
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:
This email sent to email@hidden