ExceptionHandler Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Estenda a classe ExceptionHandler para criar um manipulador de exceção para exceções sem tratamento que ocorrem dentro do runtime do WCF (Windows Communication Foundation).
public ref class ExceptionHandler abstract
public abstract class ExceptionHandler
type ExceptionHandler = class
Public MustInherit Class ExceptionHandler
- Herança
-
ExceptionHandler
Exemplos
O exemplo de código a seguir mostra uma implementação da ExceptionHandler classe abstrata que substitui o HandleException método.
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
O exemplo de código a seguir mostra como habilitar o personalizado MyExceptionHandler
para exceções sem tratamento que ocorrem no runtime do 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
Comentários
Estenda a ExceptionHandler classe e substitua o HandleException método para determinar se uma exceção deve encerrar o aplicativo. Em seguida, crie uma nova instância da classe personalizada ExceptionHandler e atribua-a à propriedade ou TransportExceptionHandler estática AsynchronousThreadExceptionHandler antes de criar clientes ou serviços do WCF.
Construtores
ExceptionHandler() |
Inicializa uma nova instância da classe ExceptionHandler. |
Propriedades
AlwaysHandle |
Obtém uma instância de ExceptionHandler que trata todas as exceções. |
AsynchronousThreadExceptionHandler |
Obtém ou define a implementação ExceptionHandler atual para o domínio do aplicativo. |
TransportExceptionHandler |
Obtém ou define a implementação ExceptionHandler de transporte atual para o domínio do aplicativo. |
Métodos
Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
GetHashCode() |
Serve como a função de hash padrão. (Herdado de Object) |
GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
HandleException(Exception) |
Quando substituído em uma classe derivada, retorna |
MemberwiseClone() |
Cria uma cópia superficial do Object atual. (Herdado de Object) |
ToString() |
Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object) |