mirror of
https://github.com/borgbackup/borg.git
synced 2025-02-24 15:12:00 +00:00
fix rc and msg if arg parsing throws an exception, fixes #7885
get_args() exception handling before this fix only dealt with subclasses of "Error", but we have to expect other exceptions there, too. In any case, if we have some fatal exception here, we must terminate with rc 2. ArgumentTypeError: emit a short error message - usually this is a user error, invoking borg in a wrong way. Other exceptions: full info and traceback.
This commit is contained in:
parent
f86a13c438
commit
77cf77ec38
1 changed files with 11 additions and 0 deletions
|
@ -625,6 +625,17 @@ def main(): # pragma: no cover
|
|||
tb = format_tb(e)
|
||||
print(tb, file=sys.stderr)
|
||||
sys.exit(e.exit_code)
|
||||
except argparse.ArgumentTypeError as e:
|
||||
# we might not have logging setup yet, so get out quickly
|
||||
print(str(e), file=sys.stderr)
|
||||
sys.exit(EXIT_ERROR)
|
||||
except Exception:
|
||||
msg = "Local Exception"
|
||||
tb = f"{traceback.format_exc()}\n{sysinfo()}"
|
||||
# we might not have logging setup yet, so get out quickly
|
||||
print(msg, file=sys.stderr)
|
||||
print(tb, file=sys.stderr)
|
||||
sys.exit(EXIT_ERROR)
|
||||
try:
|
||||
with sig_int:
|
||||
exit_code = archiver.run(args)
|
||||
|
|
Loading…
Reference in a new issue