ExceptionHandler Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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ść |
MemberwiseClone() |
Tworzy płytkią kopię bieżącego Objectelementu . (Odziedziczone po Object) |
ToString() |
Zwraca ciąg reprezentujący bieżący obiekt. (Odziedziczone po Object) |