"""Return the frame object for the caller's stack frame."""
try:
raise Exception
- except Exception:
- return sys.exc_info()[2].tb_frame.f_back
+ except Exception as exc:
+ return exc.__traceback__.tb_frame.f_back
#
# _srcfile is used when walking the stack to check when we've got the first
value = klass(*args)
except TypeError as err:
raise TypeError("in constructor for %s: %s" %
- (klass.__name__, str(err)), sys.exc_info()[2])
+ (klass.__name__, str(err)), err.__traceback__)
else:
value = klass.__new__(klass)
self.append(value)
if not dircase in known_paths and os.path.exists(dir):
sys.path.append(dir)
known_paths.add(dircase)
- except Exception:
+ except Exception as exc:
print("Error processing line {:d} of {}:\n".format(n+1, fullname),
file=sys.stderr)
import traceback
- for record in traceback.format_exception(*sys.exc_info()):
+ for record in traceback.format_exception(exc):
for line in record.splitlines():
print(' '+line, file=sys.stderr)
print("\nRemainder of file ignored", file=sys.stderr)
# line 1
'A module docstring.'
-import sys, inspect
+import inspect
# line 5
# line 7
def argue(self, a, b, c):
try:
spam(a, b, c)
- except:
- self.ex = sys.exc_info()
+ except BaseException as e:
+ self.ex = e
self.tr = inspect.trace()
@property
currentframe = inspect.currentframe()
try:
raise Exception()
-except:
- tb = sys.exc_info()[2]
+except BaseException as e:
+ tb = e.__traceback__
class Callable:
def __call__(self, *args):
git.abuse(7, 8, 9)
def test_abuse_done(self):
- self.istest(inspect.istraceback, 'git.ex[2]')
+ self.istest(inspect.istraceback, 'git.ex.__traceback__')
self.istest(inspect.isframe, 'mod.fr')
def test_stack(self):
try:
if mgr.__exit__(*ex):
ex = (None, None, None)
- except:
- ex = sys.exc_info()
+ except BaseException as e:
+ ex = (type(e), e, e.__traceback__)
self.entered = None
if ex is not exc_info:
- raise ex[0](ex[1]).with_traceback(ex[2])
+ raise ex
class MockNested(Nested):
# Start off with UTF-8
enc = "utf-8"
- import sys
# See whether CODESET is defined
try:
try:
fp=open(openfilename,"r")
fp.close()
- except:
+ except BaseException as exc:
print("Could not open File: ")
- print(sys.exc_info()[1])
+ print(exc)
print("open", openfilename.encode(enc))