Introduction
This article explains fault contracts in Windows Communication Foundation. It also explains the difference between faults & exceptions and provides sample code for implementing fault contracts.
I highly recommend reading WCF Introduction and Contracts - Day 1 before this article.
Fault Contracts
Windows Communication Foundation enables us to specify the fault behavior of our service.
For example
We create a service and this service is consumed by a client. Suppose this service throws an exception. But how can the client be notified of this exception? Because whenever an exception is thrown from a service, it cannot be sent to the client. But if you want to know the reason then a fault contract can help us. We can send information regarding this with the fault.
Faults Vs. Exceptions
The main thing in faults and exceptions is that "faults and exceptions are not the same thing".
An exception is a .Net mechanism. It is used when the program encounters an error. The .Net language allows us to throw, catch and ignore the exception. At some point they should be handled or the .Net runtime will terminate the thread in which the exception was thrown.
Faults refer to the SOAP fault mechanism to transfer error information from a service to a client. WCF provides the FaultException class.
Whenever a service throws a FaultException, WCF serializes the information sent to the client.
FaultException
A FaultException is used to send untyped fault data to the client.
FaultException<TDetail>
This generic version is used to send typed fault data to the client. TDetail represents the type parameter for the fault information. Now let's see the example of typed fault data.
Create one WCF Service Application. Add the following segment of code in the Interface. In this code we are using the FaultContract attribute. It is applied to the interface only. Suppose we want to return various types of faults then we need to set the FaultContract attribute multiple times.

Anil Kumar MurmuPosted Jan 15, 2016, 3:50 AM
nice explaination
Akshay DalviPosted Jul 14, 2014, 2:51 AM
Good work. I found it very easy.. !
Santhosh SubramaniamPosted Dec 4, 2013, 1:22 AM
nice ,, how to handle unexpected error in fault contract
Aniello Lucio IermanoPosted Jun 25, 2013, 5:08 AM
a really nice article
Sachin KaliaPosted Oct 22, 2012, 6:21 AM
Easy way to understand Fault contract...
jawahar rajPosted Oct 10, 2012, 6:49 AM
nice one