Rather than panicking in any of the Execute methods or subroutines, we should return an error. That way, we can assert against the error in test, and it will bubble up as the return value of parser.Parse() so that we can handle it properly in production.
[ ] Make sure the program exits with non-zero status on error
[ ] Make sure error message is printed to appropriate output (stderr?)
Rather than panicking in any of the
Execute
methods or subroutines, we should return an error. That way, we can assert against the error in test, and it will bubble up as the return value ofparser.Parse()
so that we can handle it properly in production.cc @faun