It's OK for software to fail — but it should display helpful errors. And the "helpful" part is not optional.
-presentError: is a nice way to build powerful mechanisms for presenting helpful errors in Cocoa applications.
The "Demo" part is available on GitHub: github.com/kemenaran/ios-presentError . A good implementation of -presentError: on iOS is available there: github.com/hectr/ErrorKit