我正在从WebApi中挖掘Exception,如下所示
Catch(ex)
{
var rEx = HttpResponseException(r.CreateErrorResponse(HttpStatusCode.NotFound,ex));
throw rEx;
}
我的问题是"如何在Windows应用程序中捕获此异常&#34 ;; 即从我称之为Web Api Method ????
的地方捕获此异常答案 0 :(得分:0)
您将收到http代码500 - 内部服务器代码的回复。因此,要赶上"赶上"此异常只是在调用app时检查响应代码。
答案 1 :(得分:0)
这会将404响应返回给客户端。假设您正在使用WebClient来调用此服务,可以通过以下几种方式完成:
1)您可以检查响应的状态,如下所示:
HttpResponseMessage response = await client.GetAsync("api/products/1");
if (response.IsSuccessStatusCode)
{
//write app code.
}
2)或者..以try / catch方式检查:resp.EnsureSuccessStatusCode(),如果响应不是200,则抛出异常。像这样:
try
{
HttpResponseMessage response = await client.GetAsync("api/products/1");
resp.EnsureSuccessStatusCode(); // Throw if not a success code.
// ...
}
catch (HttpRequestException e)
{
// Handle exception.
}
详细讨论here