EndOfStreamException 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
在流末尾尝试读取时引发的异常。
public ref class EndOfStreamException : System::IO::IOException
public class EndOfStreamException : System.IO.IOException
[System.Serializable]
public class EndOfStreamException : System.IO.IOException
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class EndOfStreamException : System.IO.IOException
type EndOfStreamException = class
inherit IOException
[<System.Serializable>]
type EndOfStreamException = class
inherit IOException
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type EndOfStreamException = class
inherit IOException
Public Class EndOfStreamException
Inherits IOException
- 继承
- 继承
- 属性
示例
下面的代码示例演示如何使用类顶部MemoryStream的BinaryReader类BinaryWriter读取和写入Double内存中的数据。
using System;
using System.IO;
class BinaryRW
{
static void Main()
{
int i;
const int arrayLength = 1000;
// Create random data to write to the stream.
Random randomGenerator = new Random();
double[] dataArray = new double[arrayLength];
for(i = 0; i < arrayLength; i++)
{
dataArray[i] = 100.1 * randomGenerator.NextDouble();
}
using(BinaryWriter binWriter =
new BinaryWriter(new MemoryStream()))
{
// Write the data to the stream.
Console.WriteLine("Writing data to the stream.");
for(i = 0; i < arrayLength; i++)
{
binWriter.Write(dataArray[i]);
}
// Create a reader using the stream from the writer.
using(BinaryReader binReader =
new BinaryReader(binWriter.BaseStream))
{
try
{
// Return to the beginning of the stream.
binReader.BaseStream.Position = 0;
// Read and verify the data.
Console.WriteLine("Verifying the written data.");
for(i = 0; i < arrayLength; i++)
{
if(binReader.ReadDouble() != dataArray[i])
{
Console.WriteLine("Error writing data.");
break;
}
}
Console.WriteLine("The data was written " +
"and verified.");
}
catch(EndOfStreamException e)
{
Console.WriteLine("Error writing data: {0}.",
e.GetType().Name);
}
}
}
}
}
Imports System.IO
Public Class BinaryRW
Shared Sub Main()
Dim i As Integer
Const upperBound As Integer = 1000
' Create random data to write to the stream.
Dim dataArray(upperBound) As Double
Dim randomGenerator As New Random()
For i = 0 To upperBound
dataArray(i) = 100.1 * randomGenerator.NextDouble()
Next i
Dim binWriter As New BinaryWriter(New MemoryStream())
Try
' Write data to the stream.
Console.WriteLine("Writing data to the stream.")
For i = 0 To upperBound
binWriter.Write(dataArray(i))
Next i
' Create a reader using the stream from the writer.
Dim binReader As New BinaryReader(binWriter.BaseStream)
' Return to the beginning of the stream.
binReader.BaseStream.Position = 0
' Read and verify the data.
Try
Console.WriteLine("Verifying the written data.")
For i = 0 To upperBound
If binReader.ReadDouble() <> dataArray(i) Then
Console.WriteLine("Error writing data.")
Exit For
End If
Next i
Console.WriteLine("The data was written and verified.")
Catch ex As EndOfStreamException
Console.WriteLine("Error writing data: {0}.", _
ex.GetType().Name)
End Try
Finally
binWriter.Close()
End Try
End Sub
End Class
注解
EndOfStreamException 使用具有值0x80070026的 HRESULT COR_E_ENDOFSTREAM。
构造函数
| 名称 | 说明 |
|---|---|
| EndOfStreamException() |
初始化类的新实例 EndOfStreamException ,其消息字符串设置为系统提供的消息,并将其 HRESULT 设置为COR_E_ENDOFSTREAM。 |
| EndOfStreamException(SerializationInfo, StreamingContext) |
使用指定的序列化和上下文信息初始化 EndOfStreamException 类的新实例。 |
| EndOfStreamException(String, Exception) |
使用指定的错误消息和对作为此异常原因的内部异常的引用初始化 EndOfStreamException 类的新实例。 |
| EndOfStreamException(String) |
初始化类的新实例 EndOfStreamException ,并将其消息字符串设置为 |
属性
| 名称 | 说明 |
|---|---|
| Data |
获取键/值对的集合,这些键/值对提供有关异常的其他用户定义的信息。 (继承自 Exception) |
| HelpLink |
获取或设置与此异常关联的帮助文件的链接。 (继承自 Exception) |
| HResult |
获取或设置 HRESULT,它是分配给特定异常的编码数值。 (继承自 Exception) |
| InnerException |
Exception获取导致当前异常的实例。 (继承自 Exception) |
| Message |
获取描述当前异常的消息。 (继承自 Exception) |
| Source |
获取或设置导致错误的应用程序或对象的名称。 (继承自 Exception) |
| StackTrace |
获取调用堆栈上即时帧的字符串表示形式。 (继承自 Exception) |
| TargetSite |
获取引发当前异常的方法。 (继承自 Exception) |
方法
| 名称 | 说明 |
|---|---|
| Equals(Object) |
确定指定的对象是否等于当前对象。 (继承自 Object) |
| GetBaseException() |
在派生类中重写时,返回 Exception 一个或多个后续异常的根本原因。 (继承自 Exception) |
| GetHashCode() |
用作默认哈希函数。 (继承自 Object) |
| GetObjectData(SerializationInfo, StreamingContext) |
在派生类中重写时,设置 SerializationInfo 有关异常的信息。 (继承自 Exception) |
| GetType() |
获取当前实例的运行时类型。 (继承自 Exception) |
| MemberwiseClone() |
创建当前 Object的浅表副本。 (继承自 Object) |
| ToString() |
创建并返回当前异常的字符串表示形式。 (继承自 Exception) |
活动
| 名称 | 说明 |
|---|---|
| SerializeObjectState |
序列化异常以创建包含有关异常的序列化数据的异常状态对象时发生。 (继承自 Exception) |