Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Fixed #1852 -- Improved TemplateSyntaxError to display the original e…

…xception if str() of the exception raises an exception in itself. Thanks, nnorwitz@google.com

git-svn-id: http://code.djangoproject.com/svn/django/trunk@2906 bcc190cf-cafb-0310-a4f2-bffc1f526a37
  • Loading branch information...
commit 55c9e98d86e717a3da832fc309947d70a68ffdb0 1 parent 51f6a94
Adrian Holovaty adrianholovaty authored
Showing with 15 additions and 1 deletion.
  1. +1 −0  AUTHORS
  2. +14 −1 django/template/__init__.py
1  AUTHORS
View
@@ -88,6 +88,7 @@ answer newbie questions, and generally made Django that much better:
Robin Munn <http://www.geekforgod.com/>
Nebojša Dorđević
Sam Newman <http://www.magpiebrain.com/>
+ Neal Norwitz <nnorwitz@google.com>
oggie rob <oz.robharvey@gmail.com>
pgross@thoughtworks.com
phaedo <http://phaedo.cx/>
15 django/template/__init__.py
View
@@ -91,7 +91,20 @@
builtins = []
class TemplateSyntaxError(Exception):
- pass
+ def __str__(self):
+ try:
+ import cStringIO as StringIO
+ except ImportError:
+ import StringIO
+ output = StringIO.StringIO()
+ output.write(Exception.__str__(self))
+ # Check if we wrapped an exception and print that too.
+ if hasattr(self, 'exc_info'):
+ import traceback
+ output.write('\n\nOriginal ')
+ e = self.exc_info
+ traceback.print_exception(e[0], e[1], e[2], 500, output)
+ return output.getvalue()
class TemplateDoesNotExist(Exception):
pass
Please sign in to comment.
Something went wrong with that request. Please try again.