【问题标题】:Good practice for making service calls拨打服务电话的良好做法
【发布时间】:2012-04-07 05:41:13
【问题描述】:

我正在开展一个广泛依赖 Exchange Web 服务的项目。截至目前,我将所有服务调用都封装在try/catch 上。虽然这不是问题,但通过将一行变成 10~ 确实会使代码变得相当混乱。

这是我看到的选项:

  1. 创建bool TryExecute(Action action, Action failCallback)等函数
  2. 接口我的所有服务调用并使用拦截器来包装我的调用

这些是我缺少的替代品吗?

【问题讨论】:

    标签: c# service error-handling try-catch


    【解决方案1】:

    这取决于您的实现。我会将 try/catch 放置在尽可能接近预期失败的位置(并且可以优雅地处理)。 例如,将这些调用包装到一个接口中(用于测试)并仅使用常见的异常类型(例如处理 EndpointNotFound 并将任何意外失败包装到您自己创建的 ExchangeCommunication-Exception 中)。

    您的两种选择似乎都可以处理各种错误,我不建议这样做,但除此之外,它肯定比反对 DRY 更好

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-14
      • 2014-06-25
      • 1970-01-01
      • 2017-12-21
      • 2012-03-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多