Вам нужно помнить одну большую проблему: предполагается, что WCF совместим - исключений .NET нет - это только .NET. Java или Ruby не смогут обработать ваши исключения ....
Все, что вы передаете между вашим сервером WCF и клиентом, должно быть XML-сериализуемым. Таким образом, по сути, вам нужно заключить эти исключения в совместимые ошибки SOAP - они действительно совместимы и сериализуемы. Или вам нужно определить свой собственный тип "WCFError", который инкапсулирует всю необходимую вам информацию из исключения .NET - такие как код ошибки, сообщение об ошибке и т. Д. - и на вашем сервере WCF реализуйте интерфейс IErrorHandler и включите все исключения .NET. в экземпляры вашего собственного класса ошибок и передайте его вызывающей стороне.
Надеюсь, это поможет хоть немного - волшебной пули нет - вам просто нужно знать, что WCF может и не может обработать - и почему.