国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術(shù)文章
文章詳情頁

java - 線上應(yīng)用,如果數(shù)據(jù)庫操作失敗的話應(yīng)該如何處理?

瀏覽:124日期:2022-06-10 17:49:10

問題描述

求教,線上應(yīng)用,如果數(shù)據(jù)庫操作(insert,update,delete)失敗的話,處理邏輯應(yīng)該是如何?

將錯誤返回給用戶?

不做處理?

在執(zhí)行一次?

還是?

問題解答

回答1:

操作失敗正常返回就行了 ,返回操作失敗的錯誤碼,比如

success:false,message:更新/刪除失敗

但是作為開發(fā)有一個原則就是,失敗的具體信息不能輸出到用戶操作界面,

打個比方,你更新一條數(shù)據(jù),更新失敗,是由于數(shù)據(jù)庫連接失敗,數(shù)據(jù)庫掛了之類的,你不可能把錯誤信息輸出到用戶端,告訴用戶數(shù)據(jù)庫連接失敗吧

如果是sql報錯,這屬于應(yīng)用錯誤了,一定要捕獲異常,將異常記錄在日志里

sql的相關(guān)操作一定要用try{}catch(){} 千萬不能把異常流到上游,并且上游沒有做對異常處理的相關(guān)操作

批量操作一定要做好事務(wù),

回答2:

當(dāng)然是找出所有捕獲到異常比如昵稱唯一,密碼不正確等等 其他的就返回未知異常,不要暴露自己的異常信息.

回答3:

根據(jù)錯誤碼給用戶返回信息吧,再執(zhí)行一次不建議,因為對數(shù)據(jù)庫來說可能會造成臟數(shù)據(jù)

回答4:

現(xiàn)場還原:數(shù)據(jù)回滾至操作前。重不重試分場景,通用的原則是同步不重試,異步重試

異常處理:同步:異常包裝成可讀的錯誤信息給用戶,提醒用戶重試。異步:監(jiān)控異常信息

主站蜘蛛池模板: 庆城县| 逊克县| 望城县| 周宁县| 胶南市| 赤城县| 鄂托克前旗| 清苑县| 津南区| 葵青区| 德令哈市| 安西县| 武城县| 青浦区| 昌宁县| 南安市| 威信县| 元阳县| 紫金县| 彭阳县| 内乡县| 邵阳县| 大埔区| 富宁县| 合江县| 高陵县| 丹凤县| 通山县| 登封市| 洞头县| 萍乡市| 盐源县| 郓城县| 右玉县| 华亭县| 鹿邑县| 中山市| 赤水市| 新兴县| 城口县| 贵州省|