SF bug 431772: traceback.print_exc() causes traceback

Patch from Michael Hundson.
format_exception_only() blew up when trying to report a SyntaxError
from a string input (line is None in this case, but it assumed a string).
Bugfix candidate.
This commit is contained in:
Tim Peters 2001-06-10 18:58:26 +00:00
parent 07c1922b12
commit 0bb580d297
1 changed files with 14 additions and 13 deletions

View File

@ -171,19 +171,20 @@ def format_exception_only(etype, value):
if not filename: filename = "<string>"
list.append(' File "%s", line %d\n' %
(filename, lineno))
i = 0
while i < len(line) and line[i].isspace():
i = i+1
list.append(' %s\n' % line.strip())
if offset is not None:
s = ' '
for c in line[i:offset-1]:
if c.isspace():
s = s + c
else:
s = s + ' '
list.append('%s^\n' % s)
value = msg
if line is not None:
i = 0
while i < len(line) and line[i].isspace():
i = i+1
list.append(' %s\n' % line.strip())
if offset is not None:
s = ' '
for c in line[i:offset-1]:
if c.isspace():
s = s + c
else:
s = s + ' '
list.append('%s^\n' % s)
value = msg
s = _some_str(value)
if s:
list.append('%s: %s\n' % (str(stype), s))