Merge pull request #4885 from radarhere/exception

This commit is contained in:
Hugo van Kemenade 2020-08-24 17:36:30 +03:00 committed by GitHub
commit 572259bcde
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 7 additions and 2 deletions

View File

@ -244,3 +244,8 @@ class TestPyDecoder:
im = MockImageFile(buf)
assert im.format is None
assert im.get_format_mimetype() is None
def test_oserror(self):
im = Image.new("RGB", (1, 1))
with pytest.raises(OSError):
im.save(BytesIO(), "JPEG2000")

View File

@ -509,7 +509,7 @@ def _save(im, fp, tile, bufsize=0):
try:
fh = fp.fileno()
fp.flush()
except (AttributeError, io.UnsupportedOperation) as e:
except (AttributeError, io.UnsupportedOperation) as exc:
# compress to Python file-compatible object
for e, b, o, a in tile:
e = Image._getencoder(im.mode, e, a, im.encoderconfig)
@ -526,7 +526,7 @@ def _save(im, fp, tile, bufsize=0):
if s:
break
if s < 0:
raise OSError("encoder error %d when writing image file" % s) from e
raise OSError("encoder error %d when writing image file" % s) from exc
e.cleanup()
else:
# slight speedup: compress to real file object