我有一个网络应用程序和一个将交易记录设置为“完成”的存储库。要求是在存储库级别检查该要求是否已被另一个用户设置为“完成”,如果是,请通知当前用户记录已被设置为“完成”。
我应该抛出一个自定义异常还是返回一个状态类(带有状态枚举和消息集合)?
存储库的调用者(一种服务)处理存储库调用并将结果包装到 DTO 到 UI ...
我有一个网络应用程序和一个将交易记录设置为“完成”的存储库。要求是在存储库级别检查该要求是否已被另一个用户设置为“完成”,如果是,请通知当前用户记录已被设置为“完成”。
我应该抛出一个自定义异常还是返回一个状态类(带有状态枚举和消息集合)?
存储库的调用者(一种服务)处理存储库调用并将结果包装到 DTO 到 UI ...
抛出异常并捕获它并不是一个更好的做法,因为无论何时发生异常,在处理它之前,它都会为 .Net 框架添加一些额外的工作来收集所有信息,如 Stacktrace、源和许多其他信息。
相反,有一个响应 RepositoryResponse 类,如下所示,您可以填写详细信息并将其返回以在不同的层中处理。
class RepositoryResponse
{
public bool IsSuccess { get; set; }
public string ErrorMessage { get; set; }
}
我会简单地返回一个枚举,因为你为什么要抛出异常?
没有出现错误,因此无需抛出异常恕我直言
这是云的样子的示例:
public myenum RepositoryMethod()
{
if(alreadyDone())
return myenum.AlreadyDone;
try
{
return myenum.Done;
}
catch(ex)
{
return myenum.ERROR;
}
}