Freigeben über


ExceptionHandler Klasse

Definition

Erweitern Sie die ExceptionHandler-Klasse, um einen Ausnahmehandler für nicht verarbeitete Ausnahmen zu erstellen, die innerhalb der Windows Communication Foundation-Laufzeit auftreten.

public ref class ExceptionHandler abstract
public abstract class ExceptionHandler
type ExceptionHandler = class
Public MustInherit Class ExceptionHandler
Vererbung
ExceptionHandler

Beispiele

Im folgenden Codebeispiel wird eine Implementierung der abstrakten Klasse ExceptionHandler veranschaulicht, die die HandleException-Methode überschreibt.

using System;
using System.ServiceModel.Dispatcher;

namespace CS
{
    public class MyExceptionHandler: ExceptionHandler
    {
            // HandleException method override gives control to
            // your code.
            public override bool HandleException ( Exception ex )
            {
                // This method contains logic to decide whether
                // the exception is serious enough
                // to terminate the process.
                return ShouldTerminateProcess (ex);
            }

            public bool ShouldTerminateProcess (Exception ex)
            {
                // Write your logic here.
                return  true;
            }
    }


Imports System.ServiceModel.Dispatcher

Namespace CS
    Public Class MyExceptionHandler
        Inherits ExceptionHandler
            ' HandleException method override gives control to 
            ' your code.
            Public Overrides Function HandleException(ByVal ex As Exception) As Boolean
                ' This method contains logic to decide whether 
                ' the exception is serious enough
                ' to terminate the process.
                Return ShouldTerminateProcess (ex)
            End Function

            Public Function ShouldTerminateProcess(ByVal ex As Exception) As Boolean
                ' Write your logic here.
                Return True
            End Function
    End Class

Das folgende Codebeispiel zeigt, wie Sie die benutzerdefinierte MyExceptionHandler Für nicht behandelte Ausnahmen aktivieren, die innerhalb der WCF-Runtime auftreten.

    static void Main(string[] args)
    {
        // Create an instance of the MyExceptionHandler class.
        MyExceptionHandler thisExceptionHandler =
            new MyExceptionHandler();

        // Enable the custom handler by setting
        //   AsynchronousThreadExceptionHandler property
        //   to this object.
        ExceptionHandler.AsynchronousThreadExceptionHandler =
            thisExceptionHandler;

        // After the handler is set, write your call to
        // System.ServiceModel.ICommunication.Open here
    }
}
    Sub Main(ByVal args() As String)
        ' Create an instance of the MyExceptionHandler class.
        Dim thisExceptionHandler As New MyExceptionHandler()

        ' Enable the custom handler by setting 
        '   AsynchronousThreadExceptionHandler property
        '   to this object.
        ExceptionHandler.AsynchronousThreadExceptionHandler = thisExceptionHandler

        ' After the handler is set, write your call to 
        ' System.ServiceModel.ICommunication.Open here
    End Sub
End Module

Hinweise

Erweitern Sie die ExceptionHandler-Klasse, und überschreiben Sie die HandleException-Methode, um festzulegen, ob eine Ausnahme die Anwendung beenden soll. Erstellen Sie dann eine neue Instanz Ihrer benutzerdefinierten ExceptionHandler Klasse, und weisen Sie sie der statischen AsynchronousThreadExceptionHandler Eigenschaft oder TransportExceptionHandler Eigenschaft zu, bevor Sie WCF-Clients oder -Dienste erstellen.

Konstruktoren

ExceptionHandler()

Initialisiert eine neue Instanz der ExceptionHandler-Klasse.

Eigenschaften

AlwaysHandle

Ruft eine Instanz von ExceptionHandler ab, die alle Ausnahmen verarbeitet.

AsynchronousThreadExceptionHandler

Ruft die aktuelle ExceptionHandler-Implementierung für die Anwendungsdomäne ab, oder legt diese fest.

TransportExceptionHandler

Ruft die aktuelle Transport-ExceptionHandler-Implementierung für die Anwendungsdomäne ab, oder legt diese fest.

Methoden

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
HandleException(Exception)

Wenn dies in einer abgeleiteten Klassen überschrieben wird, wird true zurückgegeben, wenn die Ausnahme verarbeitet wurde, oder false, wenn die Ausnahme erneut ausgelöst werden und die Anwendung beendet werden soll.

MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Gilt für: