C# IOException上读取的字节数

C# IOException上读取的字节数,c#,.net,winapi,C#,.net,Winapi,使用Stream.read(或FileStream.read)执行大型读取时,如果发生IOException(CRC错误等),如何确定成功读取了多少字节(即错误发生在哪个扇区) Win32 ReadFile函数获取指向ByteRead变量的指针,即使在出现错误的情况下,这似乎也是准确的。但是.NET抛出了一个异常,没有提示错误发生的位置 即使在出现错误的情况下,这似乎也是准确的。?你能提供引用源的链接吗?停止运行你的程序是非常重要的。这台机器有严重的问题,你的程序继续正确运行的几率很低。更糟糕的

使用Stream.read(或FileStream.read)执行大型读取时,如果发生IOException(CRC错误等),如何确定成功读取了多少字节(即错误发生在哪个扇区)


Win32 ReadFile函数获取指向ByteRead变量的指针,即使在出现错误的情况下,这似乎也是准确的。但是.NET抛出了一个异常,没有提示错误发生的位置

即使在出现错误的情况下,这似乎也是准确的。
?你能提供引用源的链接吗?停止运行你的程序是非常重要的。这台机器有严重的问题,你的程序继续正确运行的几率很低。更糟糕的是,您开始创建垃圾数据的可能性很大。不要抓住这个错误,没有合理的方法可以告诉用户出了什么问题。你不知道发生了什么事,也不知道该怎么办。@HansPassant-你的评论假设我正在访问系统磁盘。我真的在想象辅助驱动器/闪存驱动器等可能有一些损坏。@kennyzx-我真的不知道这是不是真的。关于那部分我没有引用任何人的话。不过,我确实计划在本月晚些时候对其进行测试:-(在损坏的驱动器上(我目前没有带它)在.NET中,您可能必须通过以逐渐减小的大小重试相同的读取来解决此问题。不久前我在C中遇到过此问题,但我不记得是否需要执行相同的操作,或者是否可以使用
bytesRead
来确定错误位置-我将看看是否可以找到源代码。