gpt4 book ai didi

c# - 从 FaultException<> 获取真正的异常

转载 作者:太空狗 更新时间:2023-10-29 21:08:46 24 4
gpt4 key购买 nike

我在调用服务 API 时捕获了 FaultException,例如

catch(FaultException<MyCustomEx> e)
{
// How do I get the MyCustomEx object here?
}

我想在嵌入其中的 MyCustomEx 对象上调用一些方法。

e.getTheActualExc().getMyCustomErrorCode();

如何获取实际对象?

最佳答案

根据

http://msdn.microsoft.com/ru-ru/library/ms576199(v=vs.110).aspx

必需的属性是Detail:

try {
...
}
catch(FaultException<MyCustomEx> e) {
MyCustomEx detail = e.Detail;
...
}

或者,如果您必须捕获 FaultException 类,您可以使用反射:

  try {
...
}
catch (FaultException e) {
PropertyInfo pi = e.GetType().GetProperty("Detail");

if (pi != null) {
Object rawDetail = pi.GetValue(e);

MyCustomEx detail = rawDetail as MyCustomEx;

if (detail != null) {
...
}
...
}
...
}

关于c# - 从 FaultException<> 获取真正的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23955675/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com