Updated: November 2007
The exception that is thrown when an operation is performed on a disposed object.
<SerializableAttribute> _ <ComVisibleAttribute(True)> _ Public Class ObjectDisposedException _ Inherits InvalidOperationException
Dim instance As ObjectDisposedException
[SerializableAttribute] [ComVisibleAttribute(true)] public class ObjectDisposedException : InvalidOperationException
[SerializableAttribute] [ComVisibleAttribute(true)] public ref class ObjectDisposedException : public InvalidOperationException
/** @attribute SerializableAttribute */ /** @attribute ComVisibleAttribute(true) */ public class ObjectDisposedException extends InvalidOperationException
public class ObjectDisposedException extends InvalidOperationException
The following example demonstrates an error that causes the ObjectDisposedException exception to be thrown.
Imports System Imports System.IO Public Class ObjectDisposedExceptionTest Public Shared Sub Main() Dim ms As New MemoryStream(16) ms.Close() Try ms.ReadByte() Catch e As ObjectDisposedException Console.WriteLine("Caught: {0}", e.Message) End Try End Sub 'Main End Class 'ObjectDisposedExceptionTest
using System; using System.IO; public class ObjectDisposedExceptionTest { public static void Main() { MemoryStream ms = new MemoryStream(16); ms.Close(); try { ms.ReadByte(); } catch (ObjectDisposedException e) { Console.WriteLine("Caught: {0}", e.Message); } } }
using namespace System; using namespace System::IO; int main() { MemoryStream^ ms = gcnew MemoryStream( 16 ); ms->Close(); try { ms->ReadByte(); } catch ( ObjectDisposedException^ e ) { Console::WriteLine( "Caught: {0}", e->Message ); } }
import System.*; import System.IO.*; public class ObjectDisposedExceptionTest { public static void main(String[] args) { MemoryStream ms = new MemoryStream(16); ms.Close(); try { ms.ReadByte(); } catch (ObjectDisposedException e) { Console.WriteLine("Caught: {0}", e.get_Message()); } } //main } //ObjectDisposedExceptionTest
This code produces the following output:
Caught: Cannot access a closed Stream.
Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile for Smartphone, Windows Mobile for Pocket PC, Xbox 360
The typical usage of this type is something like the following:
[C#]private void CheckDisposed(){ throw new ObjectDisposedException(GetType().FullName);}