【问题标题】:.Net Core Web API Handling exception in different layers.Net Core Web API 处理不同层的异常
【发布时间】:2021-01-21 17:49:00
【问题描述】:

我正在开发具有不同经典层 (DDD) 的 .Net Core 3.1 Web API。
我们实现了一个全局异常处理程序来捕获所有异常并将友好的消息发送回客户端。

在我的团队中,我们对异常管理有不同的看法。 我们中的一个人更倾向于只使用全局异常中间件。 就我而言,我认为我们应该首先捕获方法上的错误并抛出错误。 有什么好的方法吗?

【问题讨论】:

    标签: exception domain-driven-design webapi


    【解决方案1】:

    这两种方式可以结合使用。

    异常中间件涵盖了某些内部组件抛出异常但从未被捕获的情况,因此我们无需使用 try/catch 块。

    另一方面,在某些情况下,您想使用 try/catch 块,例如当你想为特定错误实现重试逻辑时(当然,如果重试也失败了,你重新抛出异常,让中间件处理它)。

    【讨论】:

    • 这就是我最终说服我的同事去的方式。该集团还提供了建立更好的工作流程的机会
    猜你喜欢
    • 1970-01-01
    • 2016-12-02
    • 1970-01-01
    • 1970-01-01
    • 2019-10-27
    • 1970-01-01
    • 1970-01-01
    • 2023-02-10
    • 1970-01-01
    相关资源
    最近更新 更多