如何在异常中读取CreateErrorResponse自定义消息

时间:2018-06-19 13:19:35

标签: c# api asp.net-web-api

我看不到CreateErrorResponse消息异常。我正在将消息“无效参数”传递给ThrowResponseException方法,但是我无法在异常中读取它。

e.Response.RequestMessage提供默认的详细信息,但我只需要阅读“无效参数”。

try
{
  If (!ValidString)
  { ThrowResponseException(HttpStatusCode.BadRequest, "Invalid Parameters");}
}
catch (HttpResponseException e)
{
    msg = " Status Code: " + e.Response.StatusCode.ToString();
}

private void ThrowResponseException(HttpStatusCode statusCode, string message)
{
    var errorResponse = Request.CreateErrorResponse(statusCode,message);
    throw new HttpResponseException(errorResponse);
}

1 个答案:

答案 0 :(得分:0)

我发现了一些类似的地方,他们将消息包装在新的异常中并将该异常传递到创建响应中。然后他们可以拉出错误消息的文本。 How can I retrieve the exception message from Request.CreateErrorResponse?

return Request.CreateResponse(statusCode, new Exception(message));