@@ -289,7 +289,7 @@ def get(self, timeout=None):
289
289
try :
290
290
return self ._result
291
291
except AttributeError :
292
- raise self ._exc
292
+ raise self ._exc from None
293
293
294
294
def waitfinish (self , timeout = None ):
295
295
if not self ._result_ready .wait (timeout ):
@@ -528,7 +528,7 @@ def from_io(io):
528
528
if not header :
529
529
raise EOFError ("empty read" )
530
530
except EOFError as e :
531
- raise EOFError ("couldn't load message header, " + e .args [0 ])
531
+ raise EOFError ("couldn't load message header, " + e .args [0 ]) from None
532
532
msgtype , channel , payload = struct .unpack ("!bii" , header )
533
533
return Message (msgtype , channel , io .read (payload ))
534
534
@@ -851,7 +851,7 @@ def receive(self, timeout=None):
851
851
try :
852
852
x = itemqueue .get (timeout = timeout )
853
853
except self .gateway .execmodel .queue .Empty :
854
- raise self .TimeoutError ("no item after %r seconds" % timeout )
854
+ raise self .TimeoutError ("no item after %r seconds" % timeout ) from None
855
855
if x is ENDMARKER :
856
856
itemqueue .put (x ) # for other receivers
857
857
raise self ._getremoteerror () or EOFError ()
@@ -865,7 +865,7 @@ def next(self):
865
865
try :
866
866
return self .receive ()
867
867
except EOFError :
868
- raise StopIteration
868
+ raise StopIteration from None
869
869
870
870
__next__ = next
871
871
@@ -1108,7 +1108,7 @@ def _send(self, msgcode, channelid=0, data=b""):
1108
1108
except (OSError , ValueError ) as e :
1109
1109
self ._trace ("failed to send" , message , e )
1110
1110
# ValueError might be because the IO is already closed
1111
- raise OSError ("cannot send (already closed?)" )
1111
+ raise OSError ("cannot send (already closed?)" ) from e
1112
1112
1113
1113
def _local_schedulexec (self , channel , sourcetask ):
1114
1114
channel .close ("execution disallowed" )
@@ -1316,12 +1316,12 @@ def load(self, versioned=False):
1316
1316
loader = self .num2func [opcode ]
1317
1317
except KeyError :
1318
1318
raise LoadError (
1319
- "unknown opcode %r - " " wire protocol corruption?" % (opcode ,)
1320
- )
1319
+ "unknown opcode %r - wire protocol corruption?" % (opcode ,)
1320
+ ) from None
1321
1321
loader (self )
1322
1322
except _Stop :
1323
1323
if len (self .stack ) != 1 :
1324
- raise LoadError ("internal unserialization error" )
1324
+ raise LoadError ("internal unserialization error" ) from None
1325
1325
return self .stack .pop (0 )
1326
1326
else :
1327
1327
raise LoadError ("didn't get STOP" )
@@ -1550,7 +1550,7 @@ def _save(self, obj):
1550
1550
methodname = "save_" + tp .__name__
1551
1551
meth = getattr (self .__class__ , methodname , None )
1552
1552
if meth is None :
1553
- raise DumpError (f"can't serialize { tp } " )
1553
+ raise DumpError (f"can't serialize { tp } " ) from None
1554
1554
dispatch = self ._dispatch [tp ] = meth
1555
1555
dispatch (self , obj )
1556
1556
@@ -1574,8 +1574,8 @@ def save_str(self, s):
1574
1574
def _write_unicode_string (self , s ):
1575
1575
try :
1576
1576
as_bytes = s .encode ("utf-8" )
1577
- except UnicodeEncodeError :
1578
- raise DumpError ("strings must be utf-8 encodable" )
1577
+ except UnicodeEncodeError as e :
1578
+ raise DumpError ("strings must be utf-8 encodable" ) from e
1579
1579
self ._write_byte_sequence (as_bytes )
1580
1580
1581
1581
def _write_byte_sequence (self , bytes_ ):
0 commit comments