Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit f15d159

Browse files
committed
Use sys.exc_info() where needed.
1 parent c90ad21 commit f15d159

9 files changed

Lines changed: 38 additions & 32 deletions

File tree

Lib/bdb.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ def set_trace(self):
148148
try:
149149
1 + ''
150150
except:
151-
frame = sys.exc_traceback.tb_frame.f_back
151+
frame = sys.exc_info()[2].tb_frame.f_back
152152
self.reset()
153153
while frame:
154154
frame.f_trace = self.trace_dispatch
@@ -168,7 +168,7 @@ def set_continue(self):
168168
try:
169169
1 + '' # raise an exception
170170
except:
171-
frame = sys.exc_traceback.tb_frame.f_back
171+
frame = sys.exc_info()[2].tb_frame.f_back
172172
while frame and frame is not self.botframe:
173173
del frame.f_trace
174174
frame = frame.f_back

Lib/cgi.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1210,7 +1210,7 @@ def g(f=f):
12101210

12111211
def print_exception(type=None, value=None, tb=None, limit=None):
12121212
if type is None:
1213-
type, value, tb = sys.exc_type, sys.exc_value, sys.exc_traceback
1213+
type, value, tb = sys.exc_info()
12141214
import traceback
12151215
print
12161216
print "<H3>Traceback (innermost last):</H3>"
@@ -1220,6 +1220,7 @@ def print_exception(type=None, value=None, tb=None, limit=None):
12201220
escape(string.join(list[:-1], "")),
12211221
escape(list[-1]),
12221222
)
1223+
del tb
12231224

12241225
def print_environ(environ=os.environ):
12251226
"""Dump the shell environment as HTML."""

Lib/lib-old/tb.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -74,13 +74,14 @@ def browserexec(tb, cmd):
7474
try:
7575
exec cmd+'\n' in globals, locals
7676
except:
77+
t, v = sys.exc_info()[:2]
7778
print '*** Exception:',
78-
if type(sys.exc_type) == type(''):
79-
print sys.exc_type,
79+
if type(t) == type(''):
80+
print t,
8081
else:
81-
print sys.exc_type.__name__,
82-
if sys.exc_value <> None:
83-
print ':', sys.exc_value,
82+
print t.__name__,
83+
if v <> None:
84+
print ':', v,
8485
print
8586
print 'Type help to get help.'
8687

Lib/mhlib.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -379,7 +379,7 @@ def parsesequence(self, seq):
379379
if not seqs.has_key(head):
380380
if not msg:
381381
msg = "bad message list %s" % seq
382-
raise Error, msg, sys.exc_traceback
382+
raise Error, msg, sys.exc_info()[2]
383383
msgs = seqs[head]
384384
if not msgs:
385385
raise Error, "sequence %s empty" % head

Lib/ni.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -412,8 +412,7 @@ def test():
412412
try:
413413
testproper()
414414
except:
415-
sys.last_type, sys.last_value, sys.last_traceback = (
416-
sys.exc_type, sys.exc_value, sys.exc_traceback)
415+
sys.last_type, sys.last_value, sys.last_traceback = sys.exc_info()
417416
print
418417
print sys.last_type, ':', sys.last_value
419418
print

Lib/ni1.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -412,8 +412,7 @@ def test():
412412
try:
413413
testproper()
414414
except:
415-
sys.last_type, sys.last_value, sys.last_traceback = (
416-
sys.exc_type, sys.exc_value, sys.exc_traceback)
415+
sys.last_type, sys.last_value, sys.last_traceback = sys.exc_info()
417416
print
418417
print sys.last_type, ':', sys.last_value
419418
print

Lib/pdb.py

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -80,10 +80,11 @@ def default(self, line):
8080
code = compile(line + '\n', '<stdin>', 'single')
8181
exec code in globals, locals
8282
except:
83-
if type(sys.exc_type) == type(''):
84-
exc_type_name = sys.exc_type
85-
else: exc_type_name = sys.exc_type.__name__
86-
print '***', exc_type_name + ':', sys.exc_value
83+
t, v = sys.exc_info()[:2]
84+
if type(t) == type(''):
85+
exc_type_name = t
86+
else: exc_type_name = t.__name__
87+
print '***', exc_type_name + ':', v
8788

8889
# Command definitions, called by cmdloop()
8990
# The argument is the remaining string on the command line
@@ -219,10 +220,11 @@ def do_p(self, arg):
219220
value = eval(arg, self.curframe.f_globals, \
220221
self.curframe.f_locals)
221222
except:
222-
if type(sys.exc_type) == type(''):
223-
exc_type_name = sys.exc_type
224-
else: exc_type_name = sys.exc_type.__name__
225-
print '***', exc_type_name + ':', `sys.exc_value`
223+
t, v = sys.exc_info()[:2]
224+
if type(t) == type(''):
225+
exc_type_name = t
226+
else: exc_type_name = t.__name__
227+
print '***', exc_type_name + ':', `v`
226228
return
227229

228230
print `value`
@@ -277,10 +279,11 @@ def do_whatis(self, arg):
277279
value = eval(arg, self.curframe.f_globals, \
278280
self.curframe.f_locals)
279281
except:
280-
if type(sys.exc_type) == type(''):
281-
exc_type_name = sys.exc_type
282-
else: exc_type_name = sys.exc_type.__name__
283-
print '***', exc_type_name + ':', `sys.exc_value`
282+
t, v = sys.exc_info()[:2]
283+
if type(t) == type(''):
284+
exc_type_name = t
285+
else: exc_type_name = t.__name__
286+
print '***', exc_type_name + ':', `v`
284287
return
285288
code = None
286289
# Is it a function?

Lib/tb.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -74,13 +74,14 @@ def browserexec(tb, cmd):
7474
try:
7575
exec cmd+'\n' in globals, locals
7676
except:
77+
t, v = sys.exc_info()[:2]
7778
print '*** Exception:',
78-
if type(sys.exc_type) == type(''):
79-
print sys.exc_type,
79+
if type(t) == type(''):
80+
print t,
8081
else:
81-
print sys.exc_type.__name__,
82-
if sys.exc_value <> None:
83-
print ':', sys.exc_value,
82+
print t.__name__,
83+
if v <> None:
84+
print ':', v,
8485
print
8586
print 'Type help to get help.'
8687

Lib/types.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,10 +51,12 @@ def _m(self): pass
5151
raise TypeError
5252
except TypeError:
5353
try:
54-
TracebackType = type(sys.exc_traceback)
55-
FrameType = type(sys.exc_traceback.tb_frame)
54+
tb = sys.exc_info()[2]
55+
TracebackType = type(tb)
56+
FrameType = type(tb.tb_frame)
5657
except:
5758
pass
59+
tb = None; del tb
5860

5961
SliceType = type(slice(0))
6062
EllipsisType = type(Ellipsis)

0 commit comments

Comments
 (0)