@@ -645,8 +645,8 @@ def __init__(self, s3, path, mode='rb', block_size=5 * 2 ** 20):
645
645
else :
646
646
try :
647
647
self .mpu = s3 .s3 .create_multipart_upload (Bucket = bucket , Key = key )
648
- except (ClientError , ParamValidationError ):
649
- raise IOError ('Open for write failed' , path )
648
+ except (ClientError , ParamValidationError ) as e :
649
+ raise IOError ('Open for write failed' , path , e )
650
650
self .loc = self .size
651
651
out = self .s3 .s3 .upload_part_copy (Bucket = self .bucket , Key = self .key ,
652
652
PartNumber = 1 , UploadId = self .mpu ['UploadId' ],
@@ -826,8 +826,8 @@ def flush(self, force=False, retries=10):
826
826
try :
827
827
self .mpu = self .mpu or self .s3 .s3 .create_multipart_upload (
828
828
Bucket = self .bucket , Key = self .key )
829
- except (ClientError , ParamValidationError ):
830
- raise IOError ('Initating write failed: %s' % self .path )
829
+ except (ClientError , ParamValidationError ) as e :
830
+ raise IOError ('Initating write failed: %s' % self .path , e )
831
831
832
832
while True :
833
833
try :
@@ -844,8 +844,8 @@ def flush(self, force=False, retries=10):
844
844
else :
845
845
raise IOError ('Write failed after %i retries' % retries ,
846
846
self )
847
- except :
848
- raise IOError ('Write failed' , self )
847
+ except Exception as e :
848
+ raise IOError ('Write failed' , self , e )
849
849
self .parts .append ({'PartNumber' : part , 'ETag' : out ['ETag' ]})
850
850
self .buffer = io .BytesIO ()
851
851
@@ -872,8 +872,8 @@ def close(self):
872
872
try :
873
873
self .s3 .s3 .put_object (Bucket = self .bucket , Key = self .key ,
874
874
Body = self .buffer .read ())
875
- except (ClientError , ParamValidationError ):
876
- raise IOError ('Write failed: %s' % self .path )
875
+ except (ClientError , ParamValidationError ) as e :
876
+ raise IOError ('Write failed: %s' % self .path , e )
877
877
self .s3 .invalidate_cache (self .bucket )
878
878
self .closed = True
879
879
0 commit comments