Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

ThreadAbortException-Klasse

 

Veröffentlicht: Oktober 2016

Die Ausnahme, die bei einem Aufruf der Abort-Methode ausgelöst wird. Diese Klasse kann nicht vererbt werden.

Namespace:   System.Threading
Assembly:  mscorlib (in mscorlib.dll)

System.Object
  System.Exception
    System.SystemException
      System.Threading.ThreadAbortException

[SerializableAttribute]
[ComVisibleAttribute(true)]
public sealed class ThreadAbortException : SystemException

NameBeschreibung
System_CAPS_pubpropertyData

Ruft eine Auflistung von Schlüssel-Wert-Paaren ab, die zusätzliche benutzerdefinierte Informationen über die Ausnahme bereitstellen.(Geerbt von „Exception“.)

System_CAPS_pubpropertyExceptionState

Ruft ein Objekt, das anwendungsspezifische Informationen, die im Zusammenhang mit der Threadabbruch enthält.

System_CAPS_pubpropertyHelpLink

Ruft einen Link zur Hilfedatei ab, die dieser Ausnahme zugeordnet ist, oder legt einen Link fest.(Geerbt von „Exception“.)

System_CAPS_pubpropertyHResult

Ruft HRESULT ab oder legt HRESULT fest. Dies ist ein codierter Wert, der einer bestimmten Ausnahme zugeordnet ist.(Geerbt von „Exception“.)

System_CAPS_pubpropertyInnerException

Ruft die Exception-Instanz ab, die die aktuelle Ausnahme verursacht hat.(Geerbt von „Exception“.)

System_CAPS_pubpropertyMessage

Ruft eine Meldung ab, die die aktuelle Ausnahme beschreibt.(Geerbt von „Exception“.)

System_CAPS_pubpropertySource

Gibt den Namen der Anwendung oder des Objekts zurück, die bzw. das den Fehler verursacht hat, oder legt diesen fest.(Geerbt von „Exception“.)

System_CAPS_pubpropertyStackTrace

Ruft eine Zeichenfolgendarstellung der unmittelbaren Frames in der Aufrufliste ab.(Geerbt von „Exception“.)

System_CAPS_pubpropertyTargetSite

Ruft die Methode ab, die die aktuelle Ausnahme auslöst.(Geerbt von „Exception“.)

NameBeschreibung
System_CAPS_pubmethodEquals(Object)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.(Geerbt von „Object“.)

System_CAPS_pubmethodGetBaseException()

Gibt beim Überschreiben in einer abgeleiteten Klasse eine Exception zurück, die die ursprüngliche Ursache für eine oder mehrere nachfolgende Ausnahmen ist.(Geerbt von „Exception“.)

System_CAPS_pubmethodGetHashCode()

Fungiert als die Standardhashfunktion.(Geerbt von „Object“.)

System_CAPS_pubmethodGetObjectData(SerializationInfo, StreamingContext)

Legt beim Überschreiben in einer abgeleiteten Klasse die SerializationInfo mit Informationen über die Ausnahme fest.(Geerbt von „Exception“.)

System_CAPS_pubmethodGetType()

Ruft den Laufzeittyp der aktuellen Instanz ab.(Geerbt von „Exception“.)

System_CAPS_pubmethodToString()

Erstellt eine Zeichenfolgendarstellung der aktuellen Ausnahme und gibt diese zurück.(Geerbt von „Exception“.)

Wenn ein Aufruf erfolgt die Abort Methode Zerstörung eines Threads, die common Language Runtime löst eine ThreadAbortException. ThreadAbortException ist eine besondere Ausnahme, die abgefangen werden kann, aber am Ende automatisch erneut ausgelöst wird die catch blockieren. Wenn diese Ausnahme ausgelöst wird, führt die Common Language Runtime alle der finally Blöcke vor dem Beenden des Threads. Da der Thread eine unbegrenzte Berechnung, in ausführen kann der finally Blöcke oder Aufruf Thread.ResetAbort um den Vorgang abbrechen, es gibt keine Garantie, die jemals der Thread beendet wird. Sollten Sie warten, bis der abgebrochene Thread beendet wurde, können Sie rufen die Thread.Join Methode. Join ist ein blockierender Aufruf, der erst die Ausführung des Threads beendet zurückgegeben wird.

System_CAPS_noteHinweis

Wenn die common Language Runtime (CLR) Hintergrund Threadsafter alle Vordergrundthreads in einer verwalteten ausführbaren Datei beendet haben beendet, verwendet er keine Thread.Abort. Daher können keine ThreadAbortException zu erkennen, wann Hintergrundthreads von der CLR beendet werden.

ThreadAbortException verwendet HRESULT COR_E_THREADABORTED mit den Wert 0 x 80131530.

System_CAPS_noteHinweis

Der Wert des geerbten Data -Eigenschaft ist immer null.

Das folgende Beispiel zeigt einen Thread abgebrochen wird. Der Thread, der empfängt die ThreadAbortException verwendet die ResetAbort Methode, um die Anforderung abbrechen Abbrechen und die Ausführung fortzusetzen.

using System;
using System.Threading;
using System.Security.Permissions;

public class ThreadWork {
    public static void DoWork() {
        try {
            for(int i=0; i<100; i++) {
                Console.WriteLine("Thread - working."); 
                Thread.Sleep(100);
            }
        }
        catch(ThreadAbortException e) {
            Console.WriteLine("Thread - caught ThreadAbortException - resetting.");
            Console.WriteLine("Exception message: {0}", e.Message);
            Thread.ResetAbort();
        }
        Console.WriteLine("Thread - still alive and working."); 
        Thread.Sleep(1000);
        Console.WriteLine("Thread - finished working.");
    }
}

class ThreadAbortTest {
    public static void Main() {
        ThreadStart myThreadDelegate = new ThreadStart(ThreadWork.DoWork);
        Thread myThread = new Thread(myThreadDelegate);
        myThread.Start();
        Thread.Sleep(100);
        Console.WriteLine("Main - aborting my thread.");
        myThread.Abort();
        myThread.Join();
        Console.WriteLine("Main ending."); 
    }
}

Dieser Code erzeugt die folgende Ausgabe:

Thread - working.
Main - aborting my thread.
Thread - caught ThreadAbortException - resetting.
Exception message: Thread was being aborted.
Thread - still alive and working.
Thread - finished working.
Main ending.

.NET Framework
Verfügbar seit 1.1
Silverlight
Verfügbar seit 2.0
Windows Phone Silverlight
Verfügbar seit 7.0

Alle öffentlichen statischen Member ( Shared in Visual Basic) dieses Typs sind threadsicher. Die Threadsicherheit für Instanzmember ist nicht garantiert.

Zurück zum Anfang
Anzeigen: