我正在开发一个广泛依赖Exchange Web服务的项目。截至目前,我正在try
/ catch
打包我的所有服务电话。虽然这不是一个问题,但是它通过让一行变成10~而使代码混乱很多。
以下是我看到的选项:
bool TryExecute(Action action, Action failCallback)
这些是我缺少的替代品吗?
答案 0 :(得分:2)
取决于您的实施。我会尽可能地将try / catch放置在预期失败的位置(并且可以优雅地进行操作)。 例如,将这些调用包装到接口(用于测试)并仅使用公共异常类型(例如处理EndpointNotFound并将任何意外故障包装到您自己创建的ExchangeCommunication-Exception中)。
你的两个选择似乎都处理了各种错误,我不会建议这个,但除此之外它肯定比反对DRY更好