public override int Read(byte[] buffer, int offset, int size) { CheckError(); try { return base.Read(buffer, offset, size); } catch { CheckError(); throw; } }