Issue #8313: traceback.format_exception_only() encodes unicode message to

ASCII with backslashreplace error handler if str(value) failed
This commit is contained in:
Victor Stinner 2010-05-05 12:40:49 +00:00
parent f3c157f639
commit 926fd4ee32
3 changed files with 20 additions and 2 deletions

View file

@ -211,8 +211,14 @@ def _format_final_exc_line(etype, value):
def _some_str(value):
try:
return str(value)
except:
return '<unprintable %s object>' % type(value).__name__
except Exception:
pass
try:
value = unicode(value)
return value.encode("ascii", "backslashreplace")
except Exception:
pass
return '<unprintable %s object>' % type(value).__name__
def print_exc(limit=None, file=None):