【问题标题】:C#, async function chain, where to handle exceptionC#,异步函数链,在哪里处理异常
【发布时间】:2016-07-18 20:45:32
【问题描述】:

我认为这更像是一个风格问题,只是试图找出最好的方法。

我有以下场景...

  1. 在异步模式下执行的 DB 函数(用于使用数据适配器获取数据的 task.run 以及使用 ado.net 提供的异步函数进行的非查询)。

  2. DB 函数(数据获取)结果被传递给帮助函数,这些函数为获取的数据创建对象列表。

  3. 使用辅助函数返回的对象列表的 UI。

UI 还将任务取消令牌传递给辅助函数 -> db 函数,以便可以在 UI 关闭时取消异步任务。

现在,任何由 DB 函数抛出的异常都可以在所有 3 个点上进行处理,即 DB 函数级别、辅助函数级别和 UI 级别。但是处理它的最佳位置应该是什么(包括任务取消异常)。

【问题讨论】:

    标签: c# exception-handling async-await


    【解决方案1】:

    在这种情况下,消费者应该在 UI 中处理异常。您可以在中间层处理,但抛出一个新层只是为了更容易理解 UI 并向最终用户提供有意义的消息

    【讨论】:

      猜你喜欢
      • 2011-03-04
      • 1970-01-01
      • 2019-06-04
      • 2019-08-29
      • 2019-08-20
      • 1970-01-01
      • 2022-10-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多