使用未找到的实体调用服务操作

本文关键字:实体 调用 服务 操作 | 更新日期: 2024-10-24 05:54:23

我使用的是域驱动设计(DDD)。

我对我的应用程序服务IUserService:进行了以下操作

public void EnableUser(int userId)
{
    var user = userRepository.SelectById(userId);
    if (user == null)
    {
        //??
    }
    user.Enabled= true;
    userRepository.Save(usuario);
}

我应该抛出自定义异常吗?如果是,我应该将自定义异常放在应用程序结构中的什么位置?

使用未找到的实体调用服务操作

如果您的UserService没有配备来处理用户不存在的情况,那么无论如何都会抛出异常。我认为创建一个自定义异常将有助于区分其他潜在的异常,在这种情况下,如何处理它们将在该异常类型的处理程序中指定。

在哪里处理异常在某种程度上取决于系统的设计方式。你不希望它们被处理得太远以至于上下文丢失。对于本例,如果启用用户是按钮单击或其他用户操作的结果,则启动该调用的事件或方法很可能会处理出现问题时发生的任何异常,并正确地通知用户并记录发生的情况。