Greetings,
Someone at work brought this one to me, and I thought I would put the question out there and see what others do/think about this.
We have a deployment tool which early on transformed itself into a local development environment management tool as well (it provisions a VM according to the configuration and requirements of a project, which can me modified at any time using a configuration file). Works fantastically well, but unlike system managers, developers don't want to care about error cases. So for required configuration, we go check the data wherever a default is not possible, and print out a human-readable error with some details. However, it happens sometime that the failure is due to a bug in the playbook, or to some manual modifications a user has done on his machine, and so on.
My question would be: is there a proper pattern to print out human-readable errors which would be oriented to a customer and not to someone doing deployments and operation for a living? I am thinking of pushing the tool itself towards less and less technical people (for all sorts of reasons), so for me it would be nice if we had a way to, say "This error should never happen, contact operations" or "This my be caused by a network connectivity problem. Check your internet connection, and please try again" when you try to download something and it fails. I can imagine that the ability to create generic error messages would also come handy.
Cheers!