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 ein Thread Fehler für den Methodenaufruf ungültig ThreadState ist.
public ref class ThreadStateException : SystemException
[System.Serializable]
public class ThreadStateException : SystemException
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class ThreadStateException : SystemException
public class ThreadStateException : SystemException
[<System.Serializable>]
type ThreadStateException = class
inherit SystemException
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type ThreadStateException = class
inherit SystemException
type ThreadStateException = class
inherit SystemException
Public Class ThreadStateException
Inherits SystemException
- Vererbung
- Attribute
Beispiele
Das folgende Beispiel zeigt einen Fehler, der dazu führt, dass das System eine ThreadStateException.
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
Mit diesem Code wird die folgende Ausgabe generiert:
In main. Attempting to restart myThread.
Working thread...
Caught: Thread is running or terminated. Cannot restart.
Hinweise
Sobald ein Thread erstellt wurde, befindet es 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 einen Thread aufrufen Start , der beendet wurde, löst ein ThreadStateException.
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
| Name | Beschreibung |
|---|---|
| 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, Exception) |
Initialisiert eine neue Instanz der ThreadStateException Klasse mit einer angegebenen Fehlermeldung und einem Verweis auf die innere Ausnahme, die die Ursache dieser Ausnahme ist. |
| ThreadStateException(String) |
Initialisiert eine neue Instanz der ThreadStateException Klasse mit einer angegebenen Fehlermeldung. |
Eigenschaften
| Name | Beschreibung |
|---|---|
| Data |
Ruft eine Auflistung von Schlüssel-Wert-Paaren ab, die zusätzliche benutzerdefinierte Informationen zur Ausnahme bereitstellen. (Geerbt von Exception) |
| HelpLink |
Dient zum Abrufen oder Festlegen eines Links zur Hilfedatei, die dieser Ausnahme zugeordnet ist. (Geerbt von Exception) |
| HResult |
Dient zum Abrufen oder Festlegen von HRESULT, einem codierten numerischen Wert, der einer bestimmten Ausnahme zugewiesen ist. (Geerbt von Exception) |
| InnerException |
Ruft die Exception Instanz ab, die die aktuelle Ausnahme verursacht hat. (Geerbt von Exception) |
| Message |
Ruft eine Nachricht ab, die die aktuelle Ausnahme beschreibt. (Geerbt von Exception) |
| Source |
Dient zum Abrufen oder Festlegen des Namens der Anwendung oder des Objekts, das den Fehler verursacht. (Geerbt von Exception) |
| StackTrace |
Ruft eine Zeichenfolgendarstellung der unmittelbaren Frames im Aufrufstapel ab. (Geerbt von Exception) |
| TargetSite |
Ruft die Methode ab, die die aktuelle Ausnahme auslöst. (Geerbt von Exception) |
Methoden
| Name | Beschreibung |
|---|---|
| Equals(Object) |
Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht. (Geerbt von Object) |
| GetBaseException() |
Wenn sie in einer abgeleiteten Klasse überschrieben wird, wird die Exception Ursache einer oder mehrerer nachfolgenden Ausnahmen zurückgegeben. (Geerbt von Exception) |
| GetHashCode() |
Dient als Standardhashfunktion. (Geerbt von Object) |
| GetObjectData(SerializationInfo, StreamingContext) |
Wenn sie in einer abgeleiteten Klasse überschrieben wird, werden die SerializationInfo Informationen zur Ausnahme festgelegt. (Geerbt von Exception) |
| GetType() |
Ruft den Laufzeittyp der aktuellen Instanz ab. (Geerbt von Exception) |
| MemberwiseClone() |
Erstellt eine flache Kopie der aktuellen Object. (Geerbt von Object) |
| ToString() |
Erstellt und gibt eine Zeichenfolgendarstellung der aktuellen Ausnahme zurück. (Geerbt von Exception) |
Ereignisse
| Name | Beschreibung |
|---|---|
| SerializeObjectState |
Tritt auf, wenn eine Ausnahme serialisiert wird, um ein Ausnahmestatusobjekt zu erstellen, das serialisierte Daten zu der Ausnahme enthält. (Geerbt von Exception) |