我有一个基本的DelegatingHandler
:
internal class ExceptionVerifier : DelegatingHandler
{
protected override async Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
{
try {
return await base.SendAsync(request, cancellationToken);
} catch (Exception ex) {
// handle exception
}
}
}
然而,一些例外并非冒泡。从HttpResponseException
继承的异常从Response
属性转换为HttpResponseMessage
,然后由base.SendAsync
返回。我没有在任何地方这样做。谁这样做?有没有办法强制所有例外泡沫?
我更喜欢这种设计,因为它更清晰,而不是使用由who-know-who,who-know-when调用的IExceptionHandler
。