##// END OF EJS Templates
Fix showing SystemExit exception raise inside except handler (#14503)...
Fix showing SystemExit exception raise inside except handler (#14503) Doing something like this: ```python try: 5 / 0 except Exception as e: raise SystemExit ``` was hitting an error inside UltraTB, creating a long traceback of its internals (which, ironically, UltraTB itself then displays correctly :-). `ListTB.get_exception_only()` calls the `ListTB.structured_traceback()` method *specifically* - even if `self` is a subclass, it won't use the subclass's method. However, the exception chaining in that method uses recursion by calling `self.structured_traceback()`, which will use a subclass's method. Tuples were added as an option there to support exception chaining, but not all of the machinery in connected classes expects a tuple. This just skips the exception chaining logic for the `etb=None` case, when we're showing the exception only. I'm not sure this is necessarily the best fix, but I didn't want to spend too much time following code around a module that's old enough to vote. Closes #12104
M Bussonnier -
r28830:d5762c16 merge
Show More
Name Size Modified Last Commit Author
/ IPython / core
magics
profile
tests
__init__.py Loading ...
alias.py Loading ...
application.py Loading ...
async_helpers.py Loading ...
autocall.py Loading ...
builtin_trap.py Loading ...
compilerop.py Loading ...
completer.py Loading ...
completerlib.py Loading ...
crashhandler.py Loading ...
debugger.py Loading ...
display.py Loading ...
display_functions.py Loading ...
display_trap.py Loading ...
displayhook.py Loading ...
displaypub.py Loading ...
error.py Loading ...
events.py Loading ...
excolors.py Loading ...
extensions.py Loading ...
formatters.py Loading ...
getipython.py Loading ...
guarded_eval.py Loading ...
history.py Loading ...
historyapp.py Loading ...
hooks.py Loading ...
inputsplitter.py Loading ...
inputtransformer.py Loading ...
inputtransformer2.py Loading ...
interactiveshell.py Loading ...
latex_symbols.py Loading ...
logger.py Loading ...
macro.py Loading ...
magic.py Loading ...
magic_arguments.py Loading ...
oinspect.py Loading ...
page.py Loading ...
payload.py Loading ...
payloadpage.py Loading ...
prefilter.py Loading ...
profileapp.py Loading ...
profiledir.py Loading ...
prompts.py Loading ...
pylabtools.py Loading ...
release.py Loading ...
shellapp.py Loading ...
splitinput.py Loading ...
ultratb.py Loading ...
usage.py Loading ...