[英]Should a repository throw custom exceptions or return a status type?
我有一個Web應用程序和一個將交易記錄設置為“完成”的存儲庫。 要求是在存儲庫級別檢查該要求是否已被另一個用戶設置為“完成”,如果是,則通知當前用戶該記錄已被設置為“完成”。
我應該拋出自定義異常還是返回狀態類(帶有狀態枚舉和消息集合)?
存儲庫的調用者(一種服務)處理存儲庫調用,並將結果包裝到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;
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.