Udostępnij za pośrednictwem


ExceptionHandler Klasa

Definicja

Rozszerz klasę, ExceptionHandler aby utworzyć procedurę obsługi wyjątków dla nieobsługiwanych wyjątków występujących w środowisku uruchomieniowym programu Windows Communication Foundation (WCF).

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

Przykłady

Poniższy przykład kodu przedstawia implementację ExceptionHandler klasy abstrakcyjnej, która zastępuje metodę HandleException .

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

Poniższy przykład kodu przedstawia sposób włączania niestandardowego MyExceptionHandler dla nieobsługiwanych wyjątków występujących w środowisku uruchomieniowym WCF.

    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

Uwagi

Rozszerz klasę i zastąpij HandleException metodęExceptionHandler, aby określić, czy wyjątek powinien zakończyć aplikację. Następnie utwórz nowe wystąpienie klasy niestandardowej ExceptionHandler i przypisz je do właściwości statycznej AsynchronousThreadExceptionHandler lub TransportExceptionHandler przed utworzeniem klientów lub usług WCF.

Konstruktory

ExceptionHandler()

Inicjuje nowe wystąpienie klasy ExceptionHandler.

Właściwości

AlwaysHandle

Pobiera wystąpienie, ExceptionHandler które obsługuje wszystkie wyjątki.

AsynchronousThreadExceptionHandler

Pobiera lub ustawia bieżącą ExceptionHandler implementację domeny aplikacji.

TransportExceptionHandler

Pobiera lub ustawia bieżącą implementację transportu ExceptionHandler dla domeny aplikacji.

Metody

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetType()

Type Pobiera bieżące wystąpienie.

(Odziedziczone po Object)
HandleException(Exception)

Po przesłonięciu w klasie pochodnej zwraca wartość true , jeśli wyjątek został obsłużony, lub false jeśli wyjątek powinien zostać ponowiony, a aplikacja została zakończona.

MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Dotyczy