Просмотр исходного кода

Print tracebacks for errors encountered during evaluation

Ryan C. Thompson 7 лет назад
Родитель
Сommit
1f42311c5e
1 измененных файлов с 4 добавлено и 2 удалено
  1. 4 2
      roll.py

+ 4 - 2
roll.py

@@ -6,6 +6,7 @@ import re
 import sys
 import sys
 import readline
 import readline
 import operator
 import operator
+import traceback
 from numbers import Number
 from numbers import Number
 from random import SystemRandom
 from random import SystemRandom
 from pyparsing import ParserElement, Token, Regex, oneOf, Optional, Group, Combine, Literal, CaselessLiteral, ZeroOrMore, StringStart, StringEnd, opAssoc, infixNotation, ParseException, Empty, pyparsing_common, ParseResults, White, Suppress
 from pyparsing import ParserElement, Token, Regex, oneOf, Optional, Group, Combine, Literal, CaselessLiteral, ZeroOrMore, StringStart, StringEnd, opAssoc, infixNotation, ParseException, Empty, pyparsing_common, ParseResults, White, Suppress
@@ -837,6 +838,7 @@ if __name__ == '__main__':
                 logger.info('Quitting.')
                 logger.info('Quitting.')
                 break
                 break
             except Exception as exc:
             except Exception as exc:
-                logger.error('Error while evaluating {expr!r}: {ex!r}'.format(
-                    expr=expr_string, ex=exc,
+                logger.error('Error while evaluating {expr!r}:\n{tb}'.format(
+                    expr=expr_string,
+                    tb=traceback.format_exc(),
                 ))
                 ))