ThreadStateException Klasse
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.
Die Ausnahme, die ausgelöst wird, wenn sich ein Thread in einem für den Methodenaufruf ungültigen ThreadState befindet.
public ref class ThreadStateException : SystemException
public ref class ThreadStateException : Exception
public class ThreadStateException : SystemException
[System.Runtime.InteropServices.ComVisible(true)]
public class ThreadStateException : Exception
[System.Serializable]
public class ThreadStateException : SystemException
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public class ThreadStateException : SystemException
type ThreadStateException = class
inherit SystemException
[<System.Runtime.InteropServices.ComVisible(true)>]
type ThreadStateException = class
inherit Exception
[<System.Serializable>]
type ThreadStateException = class
inherit SystemException
[<System.Runtime.InteropServices.ComVisible(true)>]
[<System.Serializable>]
type ThreadStateException = class
inherit SystemException
Public Class ThreadStateException
Inherits SystemException
Public Class ThreadStateException
Inherits Exception
- Vererbung
- Vererbung
- Attribute
Beispiele
Im folgenden Beispiel wird ein Fehler veranschaulicht, der dazu führt, dass das System eine ThreadStateException
auslöst.
using namespace System;
using namespace System::Threading;
ref class ThreadWork
{
public:
static void DoWork()
{
Console::WriteLine( "Working thread..." );
}
};
int main()
{
ThreadStart^ myThreadDelegate = gcnew ThreadStart( ThreadWork::DoWork );
Thread^ myThread = gcnew Thread( myThreadDelegate );
myThread->Start();
Thread::Sleep( 0 );
Console::WriteLine( "In main. Attempting to restart myThread." );
try
{
myThread->Start();
}
catch ( ThreadStateException^ e )
{
Console::WriteLine( "Caught: {0}", e->Message );
}
}
using System;
using System.Threading;
public class ThreadWork
{
public static void DoWork()
{
Console.WriteLine("Working thread...");
}
}
class ThreadStateTest
{
public static void Main()
{
ThreadStart myThreadDelegate = new ThreadStart(ThreadWork.DoWork);
Thread myThread = new Thread(myThreadDelegate);
myThread.Start();
Thread.Sleep(0);
Console.WriteLine("In main. Attempting to restart myThread.");
try
{
myThread.Start();
}
catch (ThreadStateException e)
{
Console.WriteLine("Caught: {0}", e.Message);
}
}
}
Imports System.Threading
Public Class ThreadWork
Public Shared Sub DoWork()
Console.WriteLine("Working thread...")
End Sub
End Class
Class ThreadStateTest
Public Shared Sub Main()
Dim myThreadDelegate As New ThreadStart(AddressOf ThreadWork.DoWork)
Dim myThread As New Thread(myThreadDelegate)
myThread.Start()
Thread.Sleep(0)
Console.WriteLine("In main. Attempting to restart myThread.")
Try
myThread.Start()
Catch e As ThreadStateException
Console.WriteLine("Caught: {0}", e.Message)
End Try
End Sub
End Class
Dieser Code erzeugt die folgende Ausgabe:
In main. Attempting to restart myThread.
Working thread...
Caught: Thread is running or terminated. Cannot restart.
Hinweise
Sobald ein Thread erstellt wurde, befindet er sich in mindestens einem der ThreadState Zustände, bis er beendet wird. ThreadStateException
wird von Methoden ausgelöst, die den angeforderten Vorgang aufgrund des aktuellen Zustands eines Threads nicht ausführen können. Wenn Sie beispielsweise versuchen, einen abgebrochenen Thread neu zu starten, indem Sie für einen Thread aufrufen Start , der beendet wurde, wird ein ThreadStateExceptionausgelöst.
ThreadStateException verwendet die HRESULT-COR_E_THREADSTATE, die den Wert 0x80131520 hat.
Eine Liste der anfänglichen Eigenschaftswerte für eine Instanz von ThreadStateException, finden Sie unter den ThreadStateException Konstruktoren.
Konstruktoren
ThreadStateException() |
Initialisiert eine neue Instanz der ThreadStateException-Klasse mit Standardeigenschaften. |
ThreadStateException(SerializationInfo, StreamingContext) |
Initialisiert eine neue Instanz der ThreadStateException-Klasse mit serialisierten Daten. |
ThreadStateException(String) |
Initialisiert eine neue Instanz der ThreadStateException-Klasse mit einer angegebenen Fehlermeldung. |
ThreadStateException(String, Exception) |
Initialisiert eine neue Instanz der ThreadStateException-Klasse mit einer angegebenen Fehlermeldung und einem Verweis auf die innere Ausnahme, die diese Ausnahme ausgelöst hat. |
Eigenschaften
Data |
Ruft eine Auflistung von Schlüssel-Wert-Paaren ab, die zusätzliche benutzerdefinierte Informationen zur Ausnahme bereitstellen. (Geerbt von Exception) |
HelpLink |
Ruft einen Link zur Hilfedatei ab, die dieser Ausnahme zugeordnet ist, oder legt einen Link fest. (Geerbt von Exception) |
HResult |
Ruft HRESULT ab oder legt HRESULT fest. Dies ist ein codierter Wert, der einer bestimmten Ausnahme zugeordnet ist. (Geerbt von Exception) |
InnerException |
Ruft die Exception-Instanz ab, die die aktuelle Ausnahme verursacht hat. (Geerbt von Exception) |
Message |
Ruft eine Meldung ab, mit der die aktuelle Ausnahme beschrieben wird. (Geerbt von Exception) |
Source |
Gibt den Namen der Anwendung oder des Objekts zurück, die bzw. das den Fehler verursacht hat, oder legt diesen fest. (Geerbt von Exception) |
StackTrace |
Ruft eine Zeichenfolgendarstellung der unmittelbaren Frames in der Aufrufliste ab. (Geerbt von Exception) |
TargetSite |
Ruft die Methode ab, die die aktuelle Ausnahme auslöst. (Geerbt von Exception) |
Methoden
Equals(Object) |
Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist. (Geerbt von Object) |
GetBaseException() |
Gibt beim Überschreiben in einer abgeleiteten Klasse eine Exception zurück, die die Grundursache für eine oder mehrere nachfolgende Ausnahmen ist. (Geerbt von Exception) |
GetHashCode() |
Fungiert als Standardhashfunktion. (Geerbt von Object) |
GetObjectData(SerializationInfo, StreamingContext) |
Legt beim Überschreiben in einer abgeleiteten Klasse die SerializationInfo mit Informationen über die Ausnahme fest. (Geerbt von Exception) |
GetType() |
Ruft den Laufzeittyp der aktuellen Instanz ab. (Geerbt von Exception) |
MemberwiseClone() |
Erstellt eine flache Kopie des aktuellen Object. (Geerbt von Object) |
ToString() |
Erstellt eine Zeichenfolgendarstellung der aktuellen Ausnahme und gibt diese zurück. (Geerbt von Exception) |
Ereignisse
SerializeObjectState |
Veraltet.
Tritt auf, wenn eine Ausnahme serialisiert wird, um ein Ausnahmezustandsobjekt mit serialisierten Daten über die Ausnahme zu erstellen. (Geerbt von Exception) |