ExceptionHandler Class

Definition

Étendez la classe ExceptionHandler pour créer un gestionnaire d’exceptions pour les exceptions non gérées qui se produisent dans le runtime Windows Communication Foundation (WCF).Extend the ExceptionHandler class to create an exception handler for unhandled exceptions that occur within the Windows Communication Foundation (WCF) runtime.

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

Examples

L'exemple de code suivant présente une implémentation de la classe abstraite ExceptionHandler qui substitue la méthode HandleException.The following code example shows an implementation of the ExceptionHandler abstract class that overrides the HandleException method.

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

L’exemple de code suivant montre comment activer le MyExceptionHandler personnalisé pour les exceptions non gérées qui se produisent dans le runtime WCF.The following code example shows how to enable the custom MyExceptionHandler for unhandled exceptions that occur within the WCF runtime.

    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

Remarks

Étendez la classe ExceptionHandler et substituez la méthode HandleException pour déterminer si une exception doit fermer l'application.Extend the ExceptionHandler class and override the HandleException method to determine whether an exception should terminate the application. Créez ensuite une nouvelle instance de votre classe de ExceptionHandler personnalisée et affectez-la à la propriété statique AsynchronousThreadExceptionHandler ou TransportExceptionHandler avant de créer des clients ou des services WCF.Then create a new instance of your custom ExceptionHandler class and assign it to the static AsynchronousThreadExceptionHandler or TransportExceptionHandler property prior to creating WCF clients or services.

Constructors

ExceptionHandler()

Initialise une nouvelle instance de la classe ExceptionHandler.Initializes a new instance of the ExceptionHandler class.

Properties

AlwaysHandle

Obtient une instance de ExceptionHandler qui gère toutes les exceptions.Gets an instance of ExceptionHandler that handles all exceptions.

AsynchronousThreadExceptionHandler

Obtient ou définit l'implémentation du ExceptionHandler actuel pour le domaine d'application.Gets or sets the current ExceptionHandler implementation for the application domain.

TransportExceptionHandler

Obtient ou définit l'implémentation du ExceptionHandler de transport actuel pour le domaine d'application.Gets or sets the current transport ExceptionHandler implementation for the application domain.

Methods

Equals(Object)

Détermine si l'objet spécifié est identique à l'objet actuel.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode()

Fait office de fonction de hachage par défaut.Serves as the default hash function.

(Inherited from Object)
GetType()

Obtient le Type de l'instance actuelle.Gets the Type of the current instance.

(Inherited from Object)
HandleException(Exception)

En cas de substitution dans une classe dérivée, retourne true si l'exception a été gérée ou false si l'exception doit levée une nouvelle fois et l'application fermée.When overridden in a derived class, returns true if the exception has been handled, or false if the exception should be rethrown and the application terminated.

MemberwiseClone()

Crée une copie superficielle du Object actuel.Creates a shallow copy of the current Object.

(Inherited from Object)
ToString()

Retourne une chaîne qui représente l'objet actuel.Returns a string that represents the current object.

(Inherited from Object)

Applies to