resolve #270: catch shell errors

@kevgo
Can't really as need should_error in this function. Are you saying pass `should_error` into `should_print_command_output?`?