Microsoft рекомендует внедрение IErrorHandler для WCF исключений
Для явного управления поведением приложения, когда исключения, реализовать интерфейс IErrorHandler и добавить его свойству ErrorHandlers. IErrorHandler позволяет явно указатьсбой генерируемой ошибки SOAP, решить, отправлять ли его обратно клиенту и выполнять связанные с ним задачи, такие как ведение журнала. Ошибка обработчики вызываются в том порядке, в котором они были добавлены в свойство ErrorHandlers .
Внедрите метод ProvideFault для управления сообщением о неисправности, которое является , возвращенным клиенту.
Реализуйте метод HandleError для обеспечения поведения ошибок, связанные, в том числе регистрации ошибок, обеспечивая неисправность быстро, выключая приложения, и так далее.
Here лучше, чем образец MSDN
IMyService proxy = ...; //Get proxy from somewhere
try {
proxy.MyMethod();
}
catch (CommunicationException) { ... }
catch (TimeoutException) { ... }
catch (FaultException<MyApplicationFault> myFault) {
MyApplicationFault detail = myFault.Detail;
//Do something with the actual fault
}
catch (FaultException otherFault) { ... }
-1: пожалуйста, укажите, почему это было бы хорошей идеей. –