【发布时间】:2016-03-07 21:04:53
【问题描述】:
如何简化以下代码:
try
{
var metadata = GetMetadata();
return metadata ?? _provider.GetLatestMetadata(guid);
}
catch (AuthenticationException)
{
return _provider.GetLatestMetadata(guid);
}
catch (HttpUnauthorizedRequestException)
{
return _provider.GetLatestMetadata(guid);
}
catch (WebException)
{
return _provider.GetLatestMetadata(guid);
}
catch (VcenterException)
{
return _provider.GetLatestMetadata(guid);
}
我想避免代码重复。
有可能吗?
【问题讨论】:
-
你想做什么?实现重试机制?
-
我在这里看不到异常捕获的任何目的。
-
如果你想避免代码重复,为什么不捕获通用基础
catch (Exception)?
标签: c# exception-handling code-duplication