求教,線上應(yīng)用,如果數(shù)據(jù)庫操作(insert,update,delete)失敗的話,處理邏輯應(yīng)該是如何?
將錯誤返回給用戶?
不做處理?
在執(zhí)行一次?
還是?
5 回答

慕后森
TA貢獻1802條經(jīng)驗 獲得超5個贊
操作失敗正常返回就行了 ,返回操作失敗的錯誤碼,比如
success:false,
message:更新/刪除失敗
但是作為開發(fā)有一個原則就是,失敗的具體信息不能輸出到用戶操作界面,
打個比方,你更新一條數(shù)據(jù),更新失敗,是由于數(shù)據(jù)庫連接失敗,數(shù)據(jù)庫掛了之類的,你不可能把錯誤信息輸出到用戶端,告訴用戶數(shù)據(jù)庫連接失敗吧
如果是sql報錯,這屬于應(yīng)用錯誤了,一定要捕獲異常,將異常記錄在日志里
sql的相關(guān)操作一定要用try{}catch(){} 千萬不能把異常流到上游,并且上游沒有做對異常處理的相關(guān)操作
批量操作一定要做好事務(wù),

溫溫醬
TA貢獻1752條經(jīng)驗 獲得超4個贊
現(xiàn)場還原:數(shù)據(jù)回滾至操作前。重不重試分場景,通用的原則是同步不重試,異步重試
異常處理:同步:異常包裝成可讀的錯誤信息給用戶,提醒用戶重試。異步:監(jiān)控異常信息
添加回答
舉報
0/150
提交
取消