If I set an NSError in the method readFromURL of my NSDocument, I am not able to overwrite the NSLocalizedDescriptionKey.

...

Unfortunately only the strings of the keys NSLocalizedFailureReasonErrorKey and NSLocalizedRecoverySuggestionErrorKey are displayed together with a standard error text. My own localizedDescription ("Description") is not displayed. Instead I got the standard error text "The document <xyz> could not be opened. FailureReason RecoverySuggestion". Is this a bug, that the string with the key NSLocalizedDescriptionKey is always overwritten before displayed or not displayed at all, if set in readFromURL or is this feature somewhere documented? I could not find anything regarding this at apple.

No, the NSError object you create is just fine, but NSDocumentController (which causes the error alert to be displayed) *always* makes the alert say that the document could not be opened.

If you want to display your own description, you need to display your own alert before returning from readFromURL:... (using [NSApp presentError:], usually), then return an error with domain=NSCocoaErrorDomain and code=NSUserCancelledError, to suppress NSDocumentController's alert.


Thanks for your answer, but is this behaviour somewhere documented? I looked into NSDocumentControllers documentation but nothing about such an error and what is actually evaluated for the standard alert from the given NSError. How did you find out? Simply by try and error?
_______________________________________________

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