ThreadAbortException.ExceptionState Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ruft ein Objekt ab, das anwendungsspezifische Informationen über den Threadabbruch enthält.
public:
property System::Object ^ ExceptionState { System::Object ^ get(); };
public object? ExceptionState { get; }
public object ExceptionState { get; }
member this.ExceptionState : obj
Public ReadOnly Property ExceptionState As Object
Eigenschaftswert
Ein Objekt, das anwendungsspezifische Informationen enthält.
Beispiele
Das folgende Codebeispiel zeigt, wie Informationen an einen thread übergeben werden, der abgebrochen wird.
using namespace System;
using namespace System::Threading;
ref class Test
{
private:
Test(){}
public:
static void TestMethod()
{
try
{
while ( true )
{
Console::WriteLine( "New thread running." );
Thread::Sleep( 1000 );
}
}
catch ( ThreadAbortException^ abortException )
{
Console::WriteLine( dynamic_cast<String^>(abortException->ExceptionState) );
}
}
};
int main()
{
Thread^ newThread = gcnew Thread( gcnew ThreadStart( &Test::TestMethod ) );
newThread->Start();
Thread::Sleep( 1000 );
// Abort newThread.
Console::WriteLine( "Main aborting new thread." );
newThread->Abort( "Information from main." );
// Wait for the thread to terminate.
newThread->Join();
Console::WriteLine( "New thread terminated - main exiting." );
}
using System;
using System.Threading;
class Test
{
public static void Main()
{
Thread newThread = new Thread(new ThreadStart(TestMethod));
newThread.Start();
Thread.Sleep(1000);
// Abort newThread.
Console.WriteLine("Main aborting new thread.");
newThread.Abort("Information from Main.");
// Wait for the thread to terminate.
newThread.Join();
Console.WriteLine("New thread terminated - Main exiting.");
}
static void TestMethod()
{
try
{
while(true)
{
Console.WriteLine("New thread running.");
Thread.Sleep(1000);
}
}
catch(ThreadAbortException abortException)
{
Console.WriteLine((string)abortException.ExceptionState);
}
}
}
Imports System.Threading
Public Class Test
<MTAThread> _
Shared Sub Main()
Dim newThread As New Thread(AddressOf TestMethod)
newThread.Start()
Thread.Sleep(1000)
' Abort newThread.
Console.WriteLine("Main aborting new thread.")
newThread.Abort("Information from Main.")
' Wait for the thread to terminate.
newThread.Join()
Console.WriteLine("New thread terminated - Main exiting.")
End Sub
Shared Sub TestMethod()
Try
While True
Console.WriteLine("New thread running.")
Thread.Sleep(1000)
End While
Catch abortException As ThreadAbortException
Console.WriteLine( _
CType(abortException.ExceptionState, String))
End Try
End Sub
End Class
Hinweise
Das von dieser Eigenschaft zurückgegebene Objekt wird über den stateInfo
-Parameter der Abort -Methode angegeben. Der genaue Inhalt und die Verwendung dieses Objekts sind anwendungsdefiniert. Es wird in der Regel verwendet, um Informationen zu vermitteln, die für den abgebrochenen Thread von Bedeutung sind.