mirror of
https://github.com/python/cpython.git
synced 2025-07-31 23:23:11 +00:00
Use sys.exc_info() where needed.
This commit is contained in:
parent
c90ad2103e
commit
f15d15964b
9 changed files with 38 additions and 32 deletions
|
@ -148,7 +148,7 @@ class Bdb: # Basic Debugger
|
||||||
try:
|
try:
|
||||||
1 + ''
|
1 + ''
|
||||||
except:
|
except:
|
||||||
frame = sys.exc_traceback.tb_frame.f_back
|
frame = sys.exc_info()[2].tb_frame.f_back
|
||||||
self.reset()
|
self.reset()
|
||||||
while frame:
|
while frame:
|
||||||
frame.f_trace = self.trace_dispatch
|
frame.f_trace = self.trace_dispatch
|
||||||
|
@ -168,7 +168,7 @@ class Bdb: # Basic Debugger
|
||||||
try:
|
try:
|
||||||
1 + '' # raise an exception
|
1 + '' # raise an exception
|
||||||
except:
|
except:
|
||||||
frame = sys.exc_traceback.tb_frame.f_back
|
frame = sys.exc_info()[2].tb_frame.f_back
|
||||||
while frame and frame is not self.botframe:
|
while frame and frame is not self.botframe:
|
||||||
del frame.f_trace
|
del frame.f_trace
|
||||||
frame = frame.f_back
|
frame = frame.f_back
|
||||||
|
|
|
@ -1210,7 +1210,7 @@ def test(environ=os.environ):
|
||||||
|
|
||||||
def print_exception(type=None, value=None, tb=None, limit=None):
|
def print_exception(type=None, value=None, tb=None, limit=None):
|
||||||
if type is None:
|
if type is None:
|
||||||
type, value, tb = sys.exc_type, sys.exc_value, sys.exc_traceback
|
type, value, tb = sys.exc_info()
|
||||||
import traceback
|
import traceback
|
||||||
print
|
print
|
||||||
print "<H3>Traceback (innermost last):</H3>"
|
print "<H3>Traceback (innermost last):</H3>"
|
||||||
|
@ -1220,6 +1220,7 @@ def print_exception(type=None, value=None, tb=None, limit=None):
|
||||||
escape(string.join(list[:-1], "")),
|
escape(string.join(list[:-1], "")),
|
||||||
escape(list[-1]),
|
escape(list[-1]),
|
||||||
)
|
)
|
||||||
|
del tb
|
||||||
|
|
||||||
def print_environ(environ=os.environ):
|
def print_environ(environ=os.environ):
|
||||||
"""Dump the shell environment as HTML."""
|
"""Dump the shell environment as HTML."""
|
||||||
|
|
|
@ -74,13 +74,14 @@ def browserexec(tb, cmd):
|
||||||
try:
|
try:
|
||||||
exec cmd+'\n' in globals, locals
|
exec cmd+'\n' in globals, locals
|
||||||
except:
|
except:
|
||||||
|
t, v = sys.exc_info()[:2]
|
||||||
print '*** Exception:',
|
print '*** Exception:',
|
||||||
if type(sys.exc_type) == type(''):
|
if type(t) == type(''):
|
||||||
print sys.exc_type,
|
print t,
|
||||||
else:
|
else:
|
||||||
print sys.exc_type.__name__,
|
print t.__name__,
|
||||||
if sys.exc_value <> None:
|
if v <> None:
|
||||||
print ':', sys.exc_value,
|
print ':', v,
|
||||||
print
|
print
|
||||||
print 'Type help to get help.'
|
print 'Type help to get help.'
|
||||||
|
|
||||||
|
|
|
@ -379,7 +379,7 @@ class Folder:
|
||||||
if not seqs.has_key(head):
|
if not seqs.has_key(head):
|
||||||
if not msg:
|
if not msg:
|
||||||
msg = "bad message list %s" % seq
|
msg = "bad message list %s" % seq
|
||||||
raise Error, msg, sys.exc_traceback
|
raise Error, msg, sys.exc_info()[2]
|
||||||
msgs = seqs[head]
|
msgs = seqs[head]
|
||||||
if not msgs:
|
if not msgs:
|
||||||
raise Error, "sequence %s empty" % head
|
raise Error, "sequence %s empty" % head
|
||||||
|
|
|
@ -412,8 +412,7 @@ def test():
|
||||||
try:
|
try:
|
||||||
testproper()
|
testproper()
|
||||||
except:
|
except:
|
||||||
sys.last_type, sys.last_value, sys.last_traceback = (
|
sys.last_type, sys.last_value, sys.last_traceback = sys.exc_info()
|
||||||
sys.exc_type, sys.exc_value, sys.exc_traceback)
|
|
||||||
print
|
print
|
||||||
print sys.last_type, ':', sys.last_value
|
print sys.last_type, ':', sys.last_value
|
||||||
print
|
print
|
||||||
|
|
|
@ -412,8 +412,7 @@ def test():
|
||||||
try:
|
try:
|
||||||
testproper()
|
testproper()
|
||||||
except:
|
except:
|
||||||
sys.last_type, sys.last_value, sys.last_traceback = (
|
sys.last_type, sys.last_value, sys.last_traceback = sys.exc_info()
|
||||||
sys.exc_type, sys.exc_value, sys.exc_traceback)
|
|
||||||
print
|
print
|
||||||
print sys.last_type, ':', sys.last_value
|
print sys.last_type, ':', sys.last_value
|
||||||
print
|
print
|
||||||
|
|
27
Lib/pdb.py
27
Lib/pdb.py
|
@ -80,10 +80,11 @@ class Pdb(bdb.Bdb, cmd.Cmd):
|
||||||
code = compile(line + '\n', '<stdin>', 'single')
|
code = compile(line + '\n', '<stdin>', 'single')
|
||||||
exec code in globals, locals
|
exec code in globals, locals
|
||||||
except:
|
except:
|
||||||
if type(sys.exc_type) == type(''):
|
t, v = sys.exc_info()[:2]
|
||||||
exc_type_name = sys.exc_type
|
if type(t) == type(''):
|
||||||
else: exc_type_name = sys.exc_type.__name__
|
exc_type_name = t
|
||||||
print '***', exc_type_name + ':', sys.exc_value
|
else: exc_type_name = t.__name__
|
||||||
|
print '***', exc_type_name + ':', v
|
||||||
|
|
||||||
# Command definitions, called by cmdloop()
|
# Command definitions, called by cmdloop()
|
||||||
# The argument is the remaining string on the command line
|
# The argument is the remaining string on the command line
|
||||||
|
@ -219,10 +220,11 @@ class Pdb(bdb.Bdb, cmd.Cmd):
|
||||||
value = eval(arg, self.curframe.f_globals, \
|
value = eval(arg, self.curframe.f_globals, \
|
||||||
self.curframe.f_locals)
|
self.curframe.f_locals)
|
||||||
except:
|
except:
|
||||||
if type(sys.exc_type) == type(''):
|
t, v = sys.exc_info()[:2]
|
||||||
exc_type_name = sys.exc_type
|
if type(t) == type(''):
|
||||||
else: exc_type_name = sys.exc_type.__name__
|
exc_type_name = t
|
||||||
print '***', exc_type_name + ':', `sys.exc_value`
|
else: exc_type_name = t.__name__
|
||||||
|
print '***', exc_type_name + ':', `v`
|
||||||
return
|
return
|
||||||
|
|
||||||
print `value`
|
print `value`
|
||||||
|
@ -277,10 +279,11 @@ class Pdb(bdb.Bdb, cmd.Cmd):
|
||||||
value = eval(arg, self.curframe.f_globals, \
|
value = eval(arg, self.curframe.f_globals, \
|
||||||
self.curframe.f_locals)
|
self.curframe.f_locals)
|
||||||
except:
|
except:
|
||||||
if type(sys.exc_type) == type(''):
|
t, v = sys.exc_info()[:2]
|
||||||
exc_type_name = sys.exc_type
|
if type(t) == type(''):
|
||||||
else: exc_type_name = sys.exc_type.__name__
|
exc_type_name = t
|
||||||
print '***', exc_type_name + ':', `sys.exc_value`
|
else: exc_type_name = t.__name__
|
||||||
|
print '***', exc_type_name + ':', `v`
|
||||||
return
|
return
|
||||||
code = None
|
code = None
|
||||||
# Is it a function?
|
# Is it a function?
|
||||||
|
|
11
Lib/tb.py
11
Lib/tb.py
|
@ -74,13 +74,14 @@ def browserexec(tb, cmd):
|
||||||
try:
|
try:
|
||||||
exec cmd+'\n' in globals, locals
|
exec cmd+'\n' in globals, locals
|
||||||
except:
|
except:
|
||||||
|
t, v = sys.exc_info()[:2]
|
||||||
print '*** Exception:',
|
print '*** Exception:',
|
||||||
if type(sys.exc_type) == type(''):
|
if type(t) == type(''):
|
||||||
print sys.exc_type,
|
print t,
|
||||||
else:
|
else:
|
||||||
print sys.exc_type.__name__,
|
print t.__name__,
|
||||||
if sys.exc_value <> None:
|
if v <> None:
|
||||||
print ':', sys.exc_value,
|
print ':', v,
|
||||||
print
|
print
|
||||||
print 'Type help to get help.'
|
print 'Type help to get help.'
|
||||||
|
|
||||||
|
|
|
@ -51,10 +51,12 @@ try:
|
||||||
raise TypeError
|
raise TypeError
|
||||||
except TypeError:
|
except TypeError:
|
||||||
try:
|
try:
|
||||||
TracebackType = type(sys.exc_traceback)
|
tb = sys.exc_info()[2]
|
||||||
FrameType = type(sys.exc_traceback.tb_frame)
|
TracebackType = type(tb)
|
||||||
|
FrameType = type(tb.tb_frame)
|
||||||
except:
|
except:
|
||||||
pass
|
pass
|
||||||
|
tb = None; del tb
|
||||||
|
|
||||||
SliceType = type(slice(0))
|
SliceType = type(slice(0))
|
||||||
EllipsisType = type(Ellipsis)
|
EllipsisType = type(Ellipsis)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue