On 2010 Mar 03, at 13:52, Keith Blount wrote: > So, here is my error-setting:
<code snipped out> Assuming this code is in your -readFromURL:ofType:error: implementation, it looks OK to me, except that I'd suggest you give that error a nonempty domain and a nonzero code. For the former, [[NSBundle mainBundle] bundleIdentifier] is a quick hack. But I have no reason to believe that this will work any better. > That works okay, except that the failure reason doesn’t get displayed. Well Keith, what do you expect from a free implementation :)) I agree; the NSError presentation built into Cocoa is too way too wimpy. Failure to display the failure reason is probably one of the many reasons why I wrote my own. > The documentation clearly states that you can tell NSDocument not to present > an error by setting its domain to NSCocoaErrorDomain and its code to > NSUserCancelledError: Yes, that is true. > However, this simply doesn’t work for NSDocument’s -readFromURL:ofType:error: > I have tried to set outError as follows: > > if (outError) > *outError = [NSError errorWithDomain:NSCocoaErrorDomain > code:NSUserCancelledError userInfo:nil]; I'm not sure where you've put that code, but it's probably wrong. Here is what works for me. I subclass NSDocumentController and put the following override in that subclass. - (NSError *)willPresentError:(NSError*)error { [SSYAlert alertError:error] ; return [NSError errorWithDomain:NSCocoaErrorDomain code:NSUserCancelledError userInfo:nil] ; } In the above, SSYAlert is my alert class. In this case, since the document failed to be created, there is no window to attach a sheet to, so it produces a dialog. I suppose the idea is that, even though, according to "Message Flow in the Document Architecture", "The NSDocument object reads the contents of the file by sending the readFromURL:ofType:error: message to itself", the failed NSDocument instance fails to initialize and returns the error down the call stack to -[NSDocumentController initWithType:error:]. > I could put all of the information into NSLocalizedDescriptionKey, but this > looks horrible as it’s all in bold Ah, yes. That's another reason why I don't use Cocoa's error presentation. I hate that boldface crap. _______________________________________________ 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