Serhiy Storchaka <storchaka+cpyt...@gmail.com> added the comment:
Interesting problem. Example which does not depend on os.environ: import traceback try: try: raise TypeError except: try: raise ValueError except: raise KeyError from None except BaseException as exc: e = exc print([e, e.__cause__, e.__context__, e.__suppress_context__]) traceback.print_exception(type(e), e, e.__traceback__) "from None" sets __suppress_context__ to True. Currently, if __suppress_context__ is true, the output of __context__ will be suppressed in the traceback. But what if we suppress only a part __context__ and output the "original" exception. The problem is what is the "original" exception. Is it __context__.__context__? Or __context__.__cause__ if it is not None? Should we take __context__.__suppress_context__ into account? Maybe go down recursively? ---------- nosy: +benjamin.peterson _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue39725> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com