如何将 System.Exception 转换为 FaultException
本文关键字:转换 FaultException Exception System | 更新日期: 2023-09-27 18:33:55
我有以下异步调用的方法。我想知道如何将System Exception
(我在SQL操作过程中可能遇到的)转换为FaultException
。
这是方法:
public List<Product> GetProductDetails(int productKey)
{
try
{
using (SqlConnection con = new SqlConnection(_connectionString))
{
SqlCommand cmd = new SqlCommand("usp_Get_ProductDetails", con);
........
using (SqlDataReader reader = cmd.ExecuteReader())
{
while (reader.Read())
{
......
}
}
}
}
catch(Exception ex)
{
//How can I convert this Exception ex into FaultException and then throw to client?
//throw new FaultException(new FaultReason(new FaultReasonText()), new FaultCode());
}
}
您可以捕获多个异常(事实上,如果给定异常合理地可能发生,则这样做是一种很好的做法),然后对每个异常执行一些操作。
例如:
try
{
using (SqlConnection con = new SqlConnection(_connectionString))
{
SqlCommand cmd = new SqlCommand("usp_Get_ProductDetails", con);
.....
}
}
catch(FaultException faultEx)
{
// code to send to client
}
catch(Exception ex)
{
// code to do something else
}
catch(Exception ex)
{
throw new FaultException(ex.Message);
}