A little background: I'm trying to branch out from FileMaker a little and learn more about computer science and software engineering in general. In an engineering course I am taking, we looked at Nielsen's 10 heuristics for interface design. One of them is:
Help users recognize, diagnose, and recover from errors:
Error messages should be expressed in plain language (no codes), precisely indicate the problem, and constructively suggest a solution.
Heuristic evaluation - Wikipedia
(This is on my mind because I am recovering from an error on a Windows server where the whole error message is "Windows could not start the FileMaker Server service on Local Computer. Error 1003: Cannot complete this function." That's not a very helpful error message I give it a score of 1 out of 3: It does use plain language, but also an error code that searching the web and documentation has not given me any more information, and it does not suggest a solution.)
I've realized that I handle errors different in my layouts for end users and in my scripts. In my user interfaces I rarely indicate the problem, but I think I do a good job explaining the problem and how to fix it. My error handling is pretty poor in my scripts though. I'm the only person who currently works on this database and I know I should be writing clearer code and better comments to help future me and future developers. Doing a little C++ development has given me some new ideas about how I might approach error handling in scripts.
What approach do you take to making scripts and layouts that signal errors to users (end users, other developers, yourself) and guide the users to handle the errors?