【发布时间】:2017-02-20 11:22:32
【问题描述】:
使用 MVC API,如果我们在 API 控制器中抛出错误
public HttpResponseMessage GetError(int id)
{
int number1 = 3000;
int number2 = 0;
var t = number1 / number2;
}
我们想在我们的 deligatingHandler 中捕获这个错误
protected override Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
{
message = base.SendAsync(request, cancellationToken);
if (!message.Result.IsSuccessStatusCode)
{
Log.Error(xxxxxxx)
}
}
检查消息的所有属性,它只显示一般错误消息,而不是控制器抛出的错误..
Log.Error(xxxxX)
是我们对 log4net 的调用。
有没有办法将此错误传递给处理程序?还是有更好的方法来实现这一点?
【问题讨论】:
-
如果您只想处理异常,最好的选择可能是自定义异常过滤器。
标签: c# asp.net-web-api error-handling