Consolidate the use of exception handling in CLI commands

Integrates and supersedes #362, adding some code clean up and more clear and robust guidelines on how to use exceptions in cli commands