How to simplify return's statement from try-catch
本问题已经有最佳答案,请猛点这里访问。
如何简化以下代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | 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); } |
我想避免代码重复。
有可能吗?
如果不想全部捕获,并且确实需要避免重复的代码,可以使用异常筛选器捕获特定的异常:
1 2 3 4 5 6 7 8 9 10 11 12 13 |