我創建了一個DivisionByZero異常。 所以我期待捕獲異常INT捕捉(Execption前),但我捕捉異常的趕上(前的CommunicationException)wcf異常時的奇怪行爲
有消息稱例外。查看具體信息。 System.DivideByZeroException:嘗試除以零。
Service.YourClientProxy client = new Service.YourClientProxy();
try
{
client.DivisionByZeroException();
client.Close();
}
catch (CommunicationException ex)
{
client.Abort();
}
catch (TimeoutException ex)
{
client.Abort();
}
catch (Exception ex)
{
client.Abort();
throw;
}
WCF服務
[OperationContract]
[FaultContract(typeof(GeneralException))]
public void DivisionByZeroException()
{
try
{
int a = 0;
int c = 1/a;
}
catch (Exception ex)
{
GeneralException exception = new GeneralException(ex.ToString());
throw new FaultException<GeneralException>(exception, "Exception. See details.\n" + ex.ToString());
}
}
[DataContract]
public class GeneralException
{
public GeneralException(string message)
{
this.Message = message;
}
[DataMember]
public string Message { get; set; }
}
任何人都可以解釋爲什麼給我?