Auf Englisch lesen

Freigeben über


ThreadStateException Klasse

Definition

Die Ausnahme, die ausgelöst wird, wenn sich ein Thread in einem für den Methodenaufruf ungültigen ThreadState befindet.

C#
public class ThreadStateException : SystemException
C#
[System.Runtime.InteropServices.ComVisible(true)]
public class ThreadStateException : Exception
C#
[System.Serializable]
public class ThreadStateException : SystemException
C#
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public class ThreadStateException : SystemException
Vererbung
ThreadStateException
Vererbung
ThreadStateException
Attribute

Beispiele

Im folgenden Beispiel wird ein Fehler veranschaulicht, der dazu führt, dass das System eine ThreadStateExceptionauslöst.

C#
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);
      }
   }
}

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)

Gilt für:

Produkt Versionen
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8
.NET Standard 2.0, 2.1

Weitere Informationen