afbee03 Suppress tracebacks for "expected" errors

1 file Authored by zbyszek 2 years ago, Committed by zbyszek 2 years ago,
    Suppress tracebacks for "expected" errors
    
    We shouldn't crash when network communication fails, or when a subprocess fails.
    The traceback is unsightly, and causes bug reports to be files. Let's just print
    the error.
    
    $ PYTHONPATH=$HOME/python/rust2rpm python -m rust2rpm ./asdfasdf.asdf
    error: the manifest-path must be a path to a Cargo.toml file
    Subcommand failed with code 101: cargo read-manifest --manifest-path=./asdfasdf.asdf
    $ PYTHONPATH=$HOME/python/rust2rpm python -m rust2rpm asdfasdf
    Failed to download metadata: 404 Client Error: Not Found for url: https://crates.io/api/v1/crates/asdfasdf/versions
    
    Fixes #145.
    
    (This does the relatively easy thing of printing the original message. In
    principle we could try to figure out what the exact error was and print uniform
    error messages. But that'd be quite a lot of work, and fairly brittle, because
    we'd need to cover all possible errors. So let's do this thing which should
    be good enough in 95% of cases.)
    
        
file modified
+8 -2