ExceptionHandler Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Estenda a classe ExceptionHandler para criar um tratador de exceções para exceções não tratadas que ocorram dentro do tempo de execução Windows Communication Foundation (WCF).
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 seguinte mostra uma implementação da ExceptionHandler classe abstrata que sobrepõe 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 seguinte exemplo de código mostra como ativar o costume MyExceptionHandler para exceções não tratadas que ocorrem dentro do runtime WCF.
// 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
Observações
Estenda a ExceptionHandler classe e sobrepõe-se ao HandleException método para determinar se uma exceção deve terminar a aplicação. Depois cria uma nova instância da tua classe personalizada ExceptionHandler e atribui-a à estática AsynchronousThreadExceptionHandler ou TransportExceptionHandler propriedade antes de criares clientes ou serviços WCF.
Construtores
| Name | Description |
|---|---|
| ExceptionHandler() |
Inicializa uma nova instância da ExceptionHandler classe. |
Propriedades
| Name | Description |
|---|---|
| AlwaysHandle |
Recebe uma instância ExceptionHandler que trata de todas as exceções. |
| AsynchronousThreadExceptionHandler |
Obtém ou define a implementação atual ExceptionHandler para o domínio de aplicação. |
| TransportExceptionHandler |
Obtém ou define a implementação atual do transporte ExceptionHandler para o domínio de aplicação. |
Métodos
| Name | Description |
|---|---|
| Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
| GetHashCode() |
Serve como função de hash predefinida. (Herdado de Object) |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| HandleException(Exception) |
Quando sobrescrito numa classe derivada, retorna |
| MemberwiseClone() |
Cria uma cópia superficial do atual Object. (Herdado de Object) |
| ToString() |
Devolve uma cadeia que representa o objeto atual. (Herdado de Object) |