It seems to throw on non-zero exit code. I would like to avoid wrapping in try/catch, and read the code. The documentation has an example showing usage of the `{code}` in the result. This is confusing because you cannot read the code it if throws.