EndOfStreamException Class  
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
The exception that is thrown when reading is attempted past the end of a stream.
public ref class EndOfStreamException : System::IO::IOExceptionpublic 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.IOExceptiontype EndOfStreamException = class
    inherit IOException[<System.Serializable>]
type EndOfStreamException = class
    inherit IOException[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type EndOfStreamException = class
    inherit IOExceptionPublic Class EndOfStreamException
Inherits IOException- Inheritance
- Inheritance
- Attributes
Examples
The following code example shows how to read and write Double data to memory by using the BinaryReader and BinaryWriter classes on top of the MemoryStream class.
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
Remarks
EndOfStreamException uses the HRESULT COR_E_ENDOFSTREAM, which has the value 0x80070026.
Constructors
| EndOfStreamException() | Initializes a new instance of the EndOfStreamException class with its message string set to a system-supplied message and its HRESULT set to COR_E_ENDOFSTREAM. | 
| EndOfStreamException(SerializationInfo, StreamingContext) | 
				Obsolete.
			 Initializes a new instance of the EndOfStreamException class with the specified serialization and context information. | 
| EndOfStreamException(String, Exception) | Initializes a new instance of the EndOfStreamException class with a specified error message and a reference to the inner exception that is the cause of this exception. | 
| EndOfStreamException(String) | Initializes a new instance of the EndOfStreamException class with its message string set to  | 
Properties
| Data | Gets a collection of key/value pairs that provide additional user-defined information about the exception.(Inherited from Exception) | 
| HelpLink | Gets or sets a link to the help file associated with this exception.(Inherited from Exception) | 
| HResult | Gets or sets HRESULT, a coded numerical value that is assigned to a specific exception.(Inherited from Exception) | 
| InnerException | Gets the Exception instance that caused the current exception.(Inherited from Exception) | 
| Message | Gets a message that describes the current exception.(Inherited from Exception) | 
| Source | Gets or sets the name of the application or the object that causes the error.(Inherited from Exception) | 
| StackTrace | Gets a string representation of the immediate frames on the call stack.(Inherited from Exception) | 
| TargetSite | Gets the method that throws the current exception.(Inherited from Exception) | 
Methods
| Equals(Object) | Determines whether the specified object is equal to the current object.(Inherited from Object) | 
| GetBaseException() | When overridden in a derived class, returns the Exception that is the root cause of one or more subsequent exceptions.(Inherited from Exception) | 
| GetHashCode() | Serves as the default hash function.(Inherited from Object) | 
| GetObjectData(SerializationInfo, StreamingContext) | 
		Obsolete.
	 When overridden in a derived class, sets the SerializationInfo with information about the exception.(Inherited from Exception) | 
| GetType() | Gets the runtime type of the current instance.(Inherited from Exception) | 
| MemberwiseClone() | Creates a shallow copy of the current Object.(Inherited from Object) | 
| ToString() | Creates and returns a string representation of the current exception.(Inherited from Exception) | 
Events
| SerializeObjectState | 
		Obsolete.
	 Occurs when an exception is serialized to create an exception state object that contains serialized data about the exception.(Inherited from Exception) |