Sdílet prostřednictvím


ExceptionHandler Třída

Definice

ExceptionHandler Rozšiřte třídu tak, aby vytvořila obslužnou rutinu výjimky pro neošetřené výjimky, ke kterým dochází v modulu runtime Windows Communication Foundation (WCF).

public ref class ExceptionHandler abstract
public abstract class ExceptionHandler
type ExceptionHandler = class
Public MustInherit Class ExceptionHandler
Dědičnost
ExceptionHandler

Příklady

Následující příklad kódu ukazuje implementaci ExceptionHandler abstraktní třídy, která přepíše metodu 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

Následující příklad kódu ukazuje, jak povolit vlastní MyExceptionHandler pro neošetřené výjimky, ke kterým dochází v rámci modulu runtime 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

Poznámky

ExceptionHandler Rozšiřte třídu a přepište metoduHandleException, abyste zjistili, zda má výjimka ukončit aplikaci. Potom vytvořte novou instanci vlastní ExceptionHandler třídy a před vytvořením klientů nebo služeb WCF ji přiřaďte ke statické AsynchronousThreadExceptionHandler nebo TransportExceptionHandler vlastnosti.

Konstruktory

ExceptionHandler()

Inicializuje novou instanci ExceptionHandler třídy.

Vlastnosti

AlwaysHandle

Získá instanci ExceptionHandler , která zpracovává všechny výjimky.

AsynchronousThreadExceptionHandler

Získá nebo nastaví aktuální ExceptionHandler implementaci pro doménu aplikace.

TransportExceptionHandler

Získá nebo nastaví aktuální implementaci přenosu ExceptionHandler pro doménu aplikace.

Metody

Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

(Zděděno od Object)
GetHashCode()

Slouží jako výchozí funkce hash.

(Zděděno od Object)
GetType()

Type Získá aktuální instanci.

(Zděděno od Object)
HandleException(Exception)

Při přepsání v odvozené třídě vrátí true , pokud byla zpracována výjimka, nebo false pokud by měla být výjimka znovu přepsána a aplikace ukončena.

MemberwiseClone()

Vytvoří použádnou kopii aktuálního souboru Object.

(Zděděno od Object)
ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Platí pro