【问题标题】:Either Monad and Exceptional Cases单子和例外情况
【发布时间】:2013-12-20 22:45:39
【问题描述】:

如果我有一个返回 If 的函数,例如 GetUserFromDb(int id) 并且数据库处于脱机状态,我应该在函数中捕获错误并将其包装在失败/左案例中,还是应该让它作为异常冒泡因为我无能为力,这确实是一种特殊情况。

欢迎评论/建议。

干杯,

布莱尔

【问题讨论】:

  • 你使用什么语言?
  • 这个例子是用 C# 编写的
  • 我添加了 c# 标签以提高知名度。

标签: c# exception-handling functional-programming monads either


【解决方案1】:

将错误包装在左边的情况下。然后你需要明确地处理它。您可以将左侧大小写“冒泡”到要处理错误的位置,例如使用错误消息或日志条目。我猜你不想让你的应用程序在数据库离线时崩溃,而是优雅地关闭它并通知一些用户这个错误。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-12-25
    • 2012-04-25
    • 1970-01-01
    • 1970-01-01
    • 2019-08-14
    • 2011-12-25
    • 2010-09-15
    • 1970-01-01
    相关资源
    最近更新 更多