可以从WCF客户端抛出哪些异常?
我通常会抓住CommunicationFaultedException
,CommunicationException
,TimoutException
以及其他一些但有时会出现新的问题,例如最近QuotaExceededException
没有共同的基础可以捕获(除了异常),所以有人有完整的列表吗?
答案 0 :(得分:2)
这可能是一个很好的起点:Expected Exceptions。
答案 1 :(得分:1)
为什么会有完整的清单?这不是Java。
为什么要捕捉您不理解的异常?如果你不知道它意味着什么,你将如何“处理”它?
如果你愿意的话,继续捕捉异常以记录它们,但是你应该在捕获它之后重新抛出它们。让异常传播到一些知道如何处理它的代码。
答案 2 :(得分:0)
只是想出来......一个解决方案可能是:
CException
。只要在Exception
块中捕获异常,就会在CException
类中抛出另一个异常。例如,如下:
catch(Exception ex){throw new CException("An error occured", ex);}
请参阅this example。
答案 3 :(得分:0)
CommunicationException
是所有WCF异常的基本异常。如果你抓住了它,你会抓住WCF相关的一切。
请参阅MSDN docs for CommunicationException。它还可以很好地显示所有派生类的列表,例如在WCF中可能发生的所有更具体的异常 - 相当长的列表!