summaryrefslogtreecommitdiffstats
path: root/Lib/traceback.py
diff options
context:
space:
mode:
authorTim Peters <tim.peters@gmail.com>2001-06-10 18:58:26 (GMT)
committerTim Peters <tim.peters@gmail.com>2001-06-10 18:58:26 (GMT)
commit0bb580d297bdc6ccb33fcd15e317a79112e77750 (patch)
tree8d119d7ac6a5aa063eee3c211f44f78e67044f3c /Lib/traceback.py
parent07c1922b12ae56dc892672d02f95e7521e1b8d55 (diff)
downloadcpython-0bb580d297bdc6ccb33fcd15e317a79112e77750.zip
cpython-0bb580d297bdc6ccb33fcd15e317a79112e77750.tar.gz
cpython-0bb580d297bdc6ccb33fcd15e317a79112e77750.tar.bz2
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.
Diffstat (limited to 'Lib/traceback.py')
-rw-r--r--Lib/traceback.py27
1 files changed, 14 insertions, 13 deletions
diff --git a/Lib/traceback.py b/Lib/traceback.py
index a758349..70b1606 100644
--- a/Lib/traceback.py
+++ b/Lib/traceback.py
@@ -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))