Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez aussi afficher la version anglaise dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte.
Traduction
Anglais
Cette documentation est archivée et n’est pas conservée.

FaultException, classe

Représente une erreur SOAP.

Espace de noms :  System.ServiceModel
Assembly :  System.ServiceModel (dans System.ServiceModel.dll)

[SerializableAttribute]
public class FaultException : CommunicationException

Le type FaultException expose les membres suivants.

  NomDescription
Méthode publiquems576192.PortableClassLibrary(fr-fr,VS.100).gifFaultException()Initialise une nouvelle instance de la classe FaultException.
Méthode publiqueFaultException(FaultReason)Initialise une nouvelle instance de la classe FaultException à l'aide de la raison spécifiée.
Méthode publiqueFaultException(MessageFault)Initialise une nouvelle instance de la classe FaultException à l'aide des valeurs d'erreur du message spécifiées.
Méthode publiqueFaultException(String)Initialise une nouvelle instance de la classe FaultException avec la raison de l'erreur spécifiée.
Méthode publiqueFaultException(FaultReason, FaultCode)Initialise une nouvelle instance de la classe FaultException à l'aide de la raison et du code d'erreur spécifiés.
Méthode publiquems576192.PortableClassLibrary(fr-fr,VS.100).gifFaultException(MessageFault, String)Initialise une nouvelle instance de la classe FaultException à l'aide des valeurs d'erreur du message spécifiées et de la chaîne d'action fournie.
Méthode protégéeFaultException(SerializationInfo, StreamingContext)Initialise une nouvelle instance de la classe FaultException à l'aide des informations de sérialisation spécifiées et du contexte lors de la désérialisation d'un flux en objet FaultException.
Méthode publiqueFaultException(String, FaultCode)Initialise une nouvelle instance de la classe FaultException à l'aide de la raison et du code d'erreur SOAP spécifiés.
Méthode publiquems576192.PortableClassLibrary(fr-fr,VS.100).gifFaultException(FaultReason, FaultCode, String)Initialise une nouvelle instance de la classe FaultException à l'aide de la raison, du code d'erreur et de la valeur d'action spécifiés.
Méthode publiqueFaultException(String, FaultCode, String)Initialise une nouvelle instance de la classe FaultException à l'aide de la raison, du code d'erreur et de la valeur d'action spécifiés.
Début

  NomDescription
Propriété publiquems576192.PortableClassLibrary(fr-fr,VS.100).gifActionObtient la valeur de l'action SOAP pour le message d'erreur.
Propriété publiquems576192.PortableClassLibrary(fr-fr,VS.100).gifCodeObtient le code d'erreur pour l'erreur SOAP.
Propriété publiqueDataObtient une collection de paires clé/valeur qui fournissent des informations supplémentaires définies par l'utilisateur sur l'exception. (Hérité de Exception.)
Propriété publiqueHelpLinkObtient ou définit un lien vers le fichier d'aide associé à cette exception. (Hérité de Exception.)
Propriété protégéems576192.PortableClassLibrary(fr-fr,VS.100).gifHResultObtient ou définit HRESULT, valeur numérique codée qui est assignée à une exception spécifique. (Hérité de Exception.)
Propriété publiquems576192.PortableClassLibrary(fr-fr,VS.100).gifInnerExceptionObtient l'instance Exception qui a provoqué l'exception actuelle. (Hérité de Exception.)
Propriété publiquems576192.PortableClassLibrary(fr-fr,VS.100).gifMessageObtient le message pour l'exception. (Substitue Exception.Message.)
Propriété publiquems576192.PortableClassLibrary(fr-fr,VS.100).gifReasonObtient la FaultReason de l'erreur SOAP.
Propriété publiqueSourceObtient ou définit le nom de l'application ou de l'objet qui est à l'origine de l'erreur. (Hérité de Exception.)
Propriété publiquems576192.PortableClassLibrary(fr-fr,VS.100).gifStackTraceObtient une représentation sous forme de chaîne des frames immédiates sur la pile des appels. (Hérité de Exception.)
Propriété publiqueTargetSiteObtient la méthode qui lève l'exception actuelle. (Hérité de Exception.)
Début

  NomDescription
Méthode publiqueMembre statiquems576192.PortableClassLibrary(fr-fr,VS.100).gifCreateFault(MessageFault, Type[])Retourne un objet FaultException de l'erreur de message spécifiée et un tableau de types de détails.
Méthode publiqueMembre statiquems576192.PortableClassLibrary(fr-fr,VS.100).gifCreateFault(MessageFault, String, Type[])Retourne un objet FaultException de l'erreur de message spécifiée, une action et un tableau de types de détails.
Méthode publiquems576192.PortableClassLibrary(fr-fr,VS.100).gifCreateMessageFaultRetourne un objet MessageFault.
Méthode publiquems576192.PortableClassLibrary(fr-fr,VS.100).gifEquals(Object)Détermine si l'Object spécifié est égal à l'Object en cours. (Hérité de Object.)
Méthode protégéems576192.PortableClassLibrary(fr-fr,VS.100).gifFinalizeAutorise un objet à tenter de libérer des ressources et d'exécuter d'autres opérations de nettoyage avant qu'il ne soit récupéré par l'opération garbage collection. (Hérité de Object.)
Méthode publiquems576192.PortableClassLibrary(fr-fr,VS.100).gifGetBaseExceptionEn cas de substitution dans une classe dérivée, retourne Exception qui est à l'origine d'une ou de plusieurs exceptions suivantes. (Hérité de Exception.)
Méthode publiquems576192.PortableClassLibrary(fr-fr,VS.100).gifGetHashCodeSert de fonction de hachage pour un type particulier. (Hérité de Object.)
Méthode publiqueGetObjectDataImplémentation de la méthode ISerializable.GetObjectData appelée lorsque l'objet est dans un flux. (Substitue Exception.GetObjectData(SerializationInfo, StreamingContext).)
Méthode publiqueGetTypeObtient le type au moment de l'exécution de l'instance actuelle. (Hérité de Exception.)
Méthode protégéems576192.PortableClassLibrary(fr-fr,VS.100).gifMemberwiseCloneCrée une copie superficielle de l'objet Object actif. (Hérité de Object.)
Méthode publiquems576192.PortableClassLibrary(fr-fr,VS.100).gifToStringCrée et retourne une chaîne représentant l'exception en cours. (Hérité de Exception.)
Début

  NomDescription
Événement protégéSerializeObjectStateSe produit lorsqu'une exception est sérialisée pour créer un objet d'état d'exception qui contient des données sérialisées relatives à l'exception. (Hérité de Exception.)
Début

Dans un service, utilisez la classe FaultException pour créer une erreur non typée à retourner au client à des fins de débogage.

Dans un client, interceptez les objets FaultException pour gérer les erreurs inconnues ou génériques, comme celles retournées par un service avec la propriété IncludeExceptionDetailInFaults définie sur true.Étant donné que FaultException étend CommunicationException, pensez à intercepter tous les objets FaultException avant d'intercepter les objets CommunicationException si vous souhaitez les intercepter séparément.

RemarqueRemarque

Les services en duplex peuvent également intercepter les objets FaultException retournés de leur interaction avec un client duplex.

En général, il est fortement recommandé d'utiliser l'FaultContractAttribute pour concevoir vos services afin de retourner les erreurs SOAP fortement typées (et pas les objets exception managés) pour tous les cas d'erreur dans lesquels vous décidez que le client a besoin des informations sur l'erreur.Toutefois, utilisez l'FaultException dans les situations suivantes :

  • Pour envoyer des erreurs SOAP d'un service à des fins de débogage.

  • Pour intercepter des erreurs SOAP sur un client lorsque les erreurs ne font pas partie du contrat de service.

Levez des objets FaultException lorsque vous souhaitez que la chaîne soit passée au constructeur et récupérée par le client en appelant la méthode FaultException<TDetail>.ToString.Si vous spécifiez un contrat d'erreur de type System.ServiceModel.FaultException<TDetail> où le paramètre de type est System.String, la valeur de chaîne est disponible comme propriété FaultException<TDetail>.Detail et pas en appelant FaultException<TDetail>.ToString.

Pour plus de détails, voir Handling Faults in Windows Communication Foundation Contracts.

L'exemple de code suivant illustre l'utilisation d'un bloc try/catch pour intercepter et gérer des objets FaultException levés d'un service.Cela se produit souvent lorsque le débogage est activé dans l'application de service.


using System;
using System.ServiceModel;
using System.ServiceModel.Channels;
using Microsoft.WCF.Documentation;

public class Client
{
  public static void Main()
  {
    // Picks up configuration from the configuration file.
    SampleServiceClient wcfClient = new SampleServiceClient();
    try
    {
      // Making calls.
      Console.WriteLine("Enter the greeting to send: ");
      string greeting = Console.ReadLine();
      Console.WriteLine("The service responded: " + wcfClient.SampleMethod(greeting));
      Console.WriteLine("Press ENTER to exit:");
      Console.ReadLine();
    }
    catch (TimeoutException timeProblem)
    {
      Console.WriteLine("The service operation timed out. " + timeProblem.Message);
      wcfClient.Abort();
      Console.ReadLine();
    }
    // Catch the contractually specified SOAP fault raised here as an exception.
    catch (FaultException<GreetingFault> greetingFault)
    {
      Console.WriteLine(greetingFault.Detail.Message);
      Console.Read();
      wcfClient.Abort();
    }
    // Catch unrecognized faults. This handler receives exceptions thrown by WCF
    // services when ServiceDebugBehavior.IncludeExceptionDetailInFaults 
    // is set to true.
    catch (FaultException faultEx)
    {
      Console.WriteLine("An unknown exception was received. " 
        + faultEx.Message
        + faultEx.StackTrace
      );
      Console.Read();
      wcfClient.Abort();
    }
    // Standard communication fault handler.
    catch (CommunicationException commProblem)
    {
      Console.WriteLine("There was a communication problem. " + commProblem.Message + commProblem.StackTrace);
      Console.Read();
      wcfClient.Abort();
    }
  }
}



<system.serviceModel>
  <behaviors>
    <serviceBehaviors>
      <behavior>
        <serviceMetadata httpGetEnabled="true"/>
        <serviceDebug includeExceptionDetailInFaults="false"/>
        <!-- Add the greetingFaultBehavior -->
        <greetingFaultBehavior />
      </behavior>
    </serviceBehaviors>
  </behaviors>
  <serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
  <!-- Register the class that implements the configuration element -->
  <extensions>
    <behaviorExtensions>
      <add
        name="greetingFaultBehavior"
        type="GreetingService.GreetingFaultBehaviorExtensionElement, GreetingService, Version=1.0.0.0, Culture=neutral"
      />
    </behaviorExtensions>
  </extensions>
</system.serviceModel>


.NET Framework

Pris en charge dans : 4, 3.5, 3.0

.NET Framework Client Profile

Pris en charge dans : 4, 3.5 SP1

Pris en charge dans :

Windows 7, Windows Vista SP1 ou ultérieur, Windows XP SP3, Windows Server 2008 (installation minimale non prise en charge), Windows Server 2008 R2 (installation minimale prise en charge avec SP1 ou version ultérieure), Windows Server 2003 SP2

Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.
Afficher: