Closed
Description
This is clearly a bug, because the except:
clause contains a naked raise
, i.e., asks for the exception to propagate on. But the return in finally swallows that exception.
try:
...
except:
ov.cancel()
raise
finally:
nread, err = ov.GetOverlappedResult(True)
if err == 0:
f = io.BytesIO()
f.write(ov.getbuffer())
return f
elif err == _winapi.ERROR_MORE_DATA:
return self._get_more_data(ov, maxsize)