The Holy Java

Building the right thing, building it right, fast

Tip: Include Context And Propose Solutions In Your Error Messages

Posted by Jakub Holý on May 23, 2013

A Puppet run has failed with an error message like this:

“No matching selector for ‘prod’ at some_puppet_file.pp:31”

If you know puppet well enough, you will immediatelly know what is wrong and how to fix it. But what if you don’t know what a ‘selector’ is? Interpreting error messages is often hard without deep knowledge of the software. Be nice to the users / fellow programmers, do not expect they know everything, and include helpful context and preferably also suggest some possible solutions. If the message read instead:

“No matching selector for ‘prod’ at some_puppet_file.pp:31; the available selectors are ‘production’, ‘test’, ‘staging’; have you forgotten to add ‘prod’ or default?”

wouldn’t it be much more clear and helpful?


Sorry, the comment form is closed at this time.

%d bloggers like this: