Skip to content

Commit

Permalink
Fixed #1852 -- Improved TemplateSyntaxError to display the original e…
Browse files Browse the repository at this point in the history
…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
adrian committed May 15, 2006
1 parent 958b3c0 commit d0a2095
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 1 deletion.
1 change: 1 addition & 0 deletions AUTHORS
Expand Up @@ -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/>
Expand Down
15 changes: 14 additions & 1 deletion django/template/__init__.py
Expand Up @@ -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
Expand Down

0 comments on commit d0a2095

Please sign in to comment.