Skip to content

Commit

Permalink
pythongh-102799: use sys.exception() instead of sys.exc_info() in pdb
Browse files Browse the repository at this point in the history
  • Loading branch information
iritkatriel committed Apr 5, 2023
1 parent b4978ff commit ada8557
Showing 1 changed file with 10 additions and 11 deletions.
21 changes: 10 additions & 11 deletions Lib/pdb.py
Original file line number Diff line number Diff line change
Expand Up @@ -1258,7 +1258,7 @@ def _getval_except(self, arg, frame=None):
return _rstr('** raised %s **' % self._format_exc(exc))

def _error_exc(self):
exc = sys.exc_info()[1]
exc = sys.exception()
self.error(self._format_exc(exc))

def _msg_val_func(self, arg, func):
Expand Down Expand Up @@ -1745,12 +1745,11 @@ def post_mortem(t=None):
"""
# handling the default
if t is None:
# sys.exc_info() returns (type, value, traceback) if an exception is
# being handled, otherwise it returns None
t = sys.exc_info()[2]
if t is None:
raise ValueError("A valid traceback must be passed if no "
"exception is being handled")
exc = sys.exception()
if t is None:
raise ValueError("A valid traceback must be passed if no "
"exception is being handled")
t = exc.__traceback__

p = Pdb()
p.reset()
Expand Down Expand Up @@ -1831,18 +1830,18 @@ def main():
except Restart:
print("Restarting", target, "with arguments:")
print("\t" + " ".join(sys.argv[1:]))
except SystemExit:
except SystemExit as e:
# In most cases SystemExit does not warrant a post-mortem session.
print("The program exited via sys.exit(). Exit status:", end=' ')
print(sys.exc_info()[1])
print(e)
except SyntaxError:
traceback.print_exc()
sys.exit(1)
except:
except BaseException as e:
traceback.print_exc()
print("Uncaught exception. Entering post mortem debugging")
print("Running 'cont' or 'step' will restart the program")
t = sys.exc_info()[2]
t = e.__traceback__
pdb.interaction(None, t)
print("Post mortem debugger finished. The " + target +
" will be restarted")
Expand Down

0 comments on commit ada8557

Please sign in to comment.