diff options
-rw-r--r-- | jinja2/_compat.py | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/jinja2/_compat.py b/jinja2/_compat.py index 8fa8a49..7f10316 100644 --- a/jinja2/_compat.py +++ b/jinja2/_compat.py @@ -127,13 +127,16 @@ function_type = type(_func) generator_type = type(_func()) method_type = type(_C().method) code_type = type(_C.method.__code__) -try: - raise TypeError() -except TypeError: - _tb = sys.exc_info()[2] - traceback_type = type(_tb) - frame_type = type(_tb.tb_frame) +def _get_tbtype(): + try: + raise TypeError() + except TypeError: + _tb = sys.exc_info()[2] + return type(_tb), type(_tb.tb_frame) + +traceback_type, frame_type = _get_tbtype() +del _get_tbtype() try: from urllib.parse import quote_from_bytes as url_quote |