From 7b234536d859baa939ee3a19004a2d96f86ce6cb 2019-12-02 09:00:00 From: Quentin Peter Date: 2019-12-02 09:00:00 Subject: [PATCH] fix 'direct cause' message --- diff --git a/IPython/core/ultratb.py b/IPython/core/ultratb.py index a56b738..3612bc4 100644 --- a/IPython/core/ultratb.py +++ b/IPython/core/ultratb.py @@ -681,15 +681,18 @@ class ListTB(TBTools): exception = self.get_parts_of_chained_exception(evalue) if exception and not id(exception[1]) in chained_exc_ids: + chained_exception_message = self.prepare_chained_exception_message( + evalue.__cause__)[0] etype, evalue, etb = exception - chained_exc_ids.add(id(exception[1])) # trace exception to avoid infinite 'cause' loop + # Trace exception to avoid infinite 'cause' loop + chained_exc_ids.add(id(exception[1])) chained_exceptions_tb_offset = 0 - out_list = (self.structured_traceback( - etype, evalue, (etb, chained_exc_ids), - chained_exceptions_tb_offset, context) - + self.prepare_chained_exception_message( - evalue.__cause__)[0] - + out_list) + out_list = ( + self.structured_traceback( + etype, evalue, (etb, chained_exc_ids), + chained_exceptions_tb_offset, context) + + chained_exception_message + + out_list) return out_list