我正在使用 Domain Driven Design (DDD) .
我对我的应用程序服务 IUserService
进行了以下操作:
public void EnableUser(int userId)
{
var user = userRepository.SelectById(userId);
if (user == null)
{
//??
}
user.Enabled= true;
userRepository.Save(usuario);
}
我应该抛出自定义异常吗? 如果是,我应该将自定义异常放在我的应用程序结构中的什么位置?
最佳答案
如果您的 UserService 无法处理用户不存在的情况,那么一定要抛出异常。我认为创建自定义异常将有助于区分其他潜在异常,在这种情况下,您将如何处理它们将在该异常类型的处理程序中指定。
在何处处理异常取决于您的系统设计方式。您不希望它们被处理得太远以至于上下文丢失。对于此示例,如果启用用户是按钮单击或其他用户操作的结果,则启动该调用的事件或方法最有可能处理出现问题时发生的任何异常,并适本地通知用户并记录什么发生了。
关于c# - 使用未找到的实体调用服务操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28918182/