Jelle Zijlstra <jelle.zijls...@gmail.com> added the comment:
It skips the least recent frames: >>> def error(): 1 / 0 ... >>> def g(): error() ... >>> def f(): g() ... >>> sys.tracebacklimit = 2 >>> f() Traceback (most recent call last): File "<stdin>", line 1, in g File "<stdin>", line 1, in error ZeroDivisionError: division by zero >>> sys.tracebacklimit = 5 >>> f() Traceback (most recent call last): File "<stdin>", line 1, in <module> File "<stdin>", line 1, in f File "<stdin>", line 1, in g File "<stdin>", line 1, in error ZeroDivisionError: division by zero (tried on current main) I think that's the right behavior because it tells you the function that actually throws the error, which is much harder to figure out from scratch than where the call started. ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue46949> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com