public override int EndRead(IAsyncResult ar) { try { return base.EndRead(ar); } catch { CheckError(); throw; } }