Browse Source

show tracebacks in top-level exception handler for easier debugging

sure it is "prettier" without, but a lot of useful information for debugging is lost if the traceback is not shown.

even for KeyboardInterrupt:

it may have some bad reason when one has to use Ctrl-C - if attic was stuck somewhere, we want to know where it was.
Thomas Waldmann 10 năm trước cách đây
mục cha
commit
14d91a25fc
1 tập tin đã thay đổi với 3 bổ sung0 xóa
  1. 3 0
      attic/archiver.py

+ 3 - 0
attic/archiver.py

@@ -8,6 +8,7 @@ import os
 import stat
 import stat
 import sys
 import sys
 import textwrap
 import textwrap
+import traceback
 
 
 from attic import __version__
 from attic import __version__
 from attic.archive import Archive, ArchiveChecker
 from attic.archive import Archive, ArchiveChecker
@@ -726,9 +727,11 @@ def main():
     try:
     try:
         exit_code = archiver.run(sys.argv[1:])
         exit_code = archiver.run(sys.argv[1:])
     except Error as e:
     except Error as e:
+        traceback.print_exc()
         archiver.print_error(e.get_message())
         archiver.print_error(e.get_message())
         exit_code = e.exit_code
         exit_code = e.exit_code
     except KeyboardInterrupt:
     except KeyboardInterrupt:
+        traceback.print_exc()
         archiver.print_error('Error: Keyboard interrupt')
         archiver.print_error('Error: Keyboard interrupt')
         exit_code = 1
         exit_code = 1
     else:
     else: