]> granicus.if.org Git - python/commitdiff
Closes #20235: Report file and line on unexpected exceptions in Argument Clinic.
authorGeorg Brandl <georg@python.org>
Thu, 16 Jan 2014 05:53:54 +0000 (06:53 +0100)
committerGeorg Brandl <georg@python.org>
Thu, 16 Jan 2014 05:53:54 +0000 (06:53 +0100)
Tools/clinic/clinic.py

index ed59f05b1ecd6f99577a3042443701b09de39123..23e0b9393344d183486232cfa6ca7c1892386738 100755 (executable)
@@ -21,6 +21,7 @@ import shlex
 import sys
 import tempfile
 import textwrap
+import traceback
 
 # TODO:
 #
@@ -1082,7 +1083,11 @@ class Clinic:
                     assert dsl_name in parsers, "No parser to handle {!r} block.".format(dsl_name)
                     self.parsers[dsl_name] = parsers[dsl_name](self)
                 parser = self.parsers[dsl_name]
-                parser.parse(block)
+                try:
+                    parser.parse(block)
+                except Exception:
+                    fail('Exception raised during parsing:\n' +
+                         traceback.format_exc().rstrip())
             printer.print_block(block)
         return printer.f.getvalue()