As we promote clientv2 and deprecate v1, we've come across some issues
involving error handling in the v2 client.

When there's an unexpected error in clientv1, most of the time, it crashes
and dumps its stack. Dumping stack is a lousy user experience, but it
proves the stack dump, which users can then include in a bug report.

The default behavior in clientv2 doesn't dump stack. Instead, it catches
the unknown error, and prints out a concise error message, like:

Internal error executing command: 'str' object has no attribute 'err_msg'


There's no stack dump, so when we get an error report, it's harder for us
to track down the cause of the error.

Clientv2 does provide a command-line option, "--reveal-errors", which
allows errors to be propagated and eventually result in a stack trace.

So: should we allow the client to dump stack on error?

    -Mark

Reply via email to