卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

html文檔類型有哪些 做程序時(shí),如果某個(gè)查詢方法應(yīng)當(dāng)返回一條記錄,但是查出來(lái)多條,是拋異常好還是從多條中取第一條好?

做程序時(shí),如果某個(gè)查詢方法應(yīng)當(dāng)返回一條記錄,但是查出來(lái)多條,是拋異常好還是從多條中取第一條好?我有10年的開(kāi)發(fā)和培訓(xùn)經(jīng)驗(yàn)。在此期間,我經(jīng)歷了Java、web、Android、H5、大數(shù)據(jù)、PHP等不同

做程序時(shí),如果某個(gè)查詢方法應(yīng)當(dāng)返回一條記錄,但是查出來(lái)多條,是拋異常好還是從多條中取第一條好?

我有10年的開(kāi)發(fā)和培訓(xùn)經(jīng)驗(yàn)。在此期間,我經(jīng)歷了Java、web、Android、H5、大數(shù)據(jù)、PHP等不同的發(fā)展方向。我也是軟件培訓(xùn)公司的金牌講師。我對(duì)回答這個(gè)問(wèn)題很感興趣。

您已經(jīng)清楚地解釋了這個(gè)問(wèn)題中的要求,“一個(gè)查詢方法應(yīng)該返回一條記錄,但是可以找到多條記錄”!也就是說(shuō),您的查詢應(yīng)該只有一個(gè)結(jié)果,但此時(shí)或某個(gè)時(shí)候,會(huì)有多個(gè)結(jié)果,這意味著您的業(yè)務(wù)接口可能不滿足冪等性的要求。根據(jù)冪等設(shè)計(jì)原理,無(wú)論怎樣查找,只要參數(shù)相同,返回的結(jié)果應(yīng)該是相同的。

那么如何解決這個(gè)問(wèn)題并拋出異常呢?返回到幾個(gè)中的第一個(gè)?

我認(rèn)為這不是一個(gè)完美的解決方案。

這對(duì)某些人來(lái)說(shuō)是一個(gè)解決方案,但是問(wèn)題解決了嗎?一點(diǎn)也不!問(wèn)題仍然存在。下次觸發(fā)此條件時(shí),仍將引發(fā)異常。就像說(shuō)森林里有一只老虎。有一天,它吃人,然后你不解決老虎的問(wèn)題。你只是在森林里掛了一塊牌子,上面寫(xiě)著:小心,里面有老虎!這…

事實(shí)上,這不是一個(gè)好辦法。也許只有一件東西應(yīng)該被退回。為什么要查詢多個(gè)項(xiàng)目?您是否檢查了數(shù)據(jù)庫(kù)中數(shù)據(jù)的唯一性?你不覺(jué)得每次查詢多個(gè)結(jié)果然后得到第一個(gè)數(shù)據(jù)效率很低嗎?

所以我們應(yīng)該從根本上解決問(wèn)題!為什么會(huì)產(chǎn)生多個(gè)數(shù)據(jù)?如果要手動(dòng)檢查數(shù)據(jù),則需要手動(dòng)檢查。如果要鎖定它,應(yīng)該盡最大努力確保輸入?yún)?shù)相同,結(jié)果相同

在JAVA中捕獲異常后throw自定義異常是不優(yōu)雅的嗎?

事實(shí)上,這種方法在很多框架中都有使用

1。Rethrow

自定義異常,用于更好地隔離異常,識(shí)別異常類型、ID、自定義消息和日志

2。對(duì)第三方庫(kù)的異常進(jìn)行打包和抽象,以保持與框架異常定義的一致性,方便框架處理不同的異常

3。Restful API,統(tǒng)一的異常管理

隨著業(yè)界對(duì)用戶體驗(yàn)的重視,前端異常處理也得到了重視。像過(guò)去一樣,很少有網(wǎng)站關(guān)心你的前端是否會(huì)異常,但是現(xiàn)在更大的網(wǎng)站會(huì)收集前端異常,然后向服務(wù)器報(bào)告。

。讓我們逐一看看。

1. 異常捕獲

每個(gè)主流開(kāi)發(fā)語(yǔ)言都使用try。。。抓住。。。捕捉異常。當(dāng)然,前端JavaScript也不例外。最簡(jiǎn)單的代碼如下:

try{…}catch(E){控制臺(tái).log(e)

]盡管我們可以嘗試。。。抓住。。。對(duì)于異常的處理,也存在一個(gè)問(wèn)題:代碼會(huì)變得越來(lái)越復(fù)雜和臃腫,這種方法只適用于片段代碼的異常捕獲,全局異常捕獲非常麻煩。

所以有更好的方法。

window.oner錯(cuò)誤它不僅提供了錯(cuò)誤代碼的行號(hào),還提供了錯(cuò)誤借用信息,對(duì)我們準(zhǔn)確定位異常非常有幫助。

2. 異常報(bào)告

當(dāng)我們捕獲前端異常時(shí),我們需要將異常報(bào)告給后端服務(wù)器。我們通常通過(guò)Ajax提交。為了降低后端壓力,我們建議如果前端異常類似,只報(bào)告一次。

經(jīng)過(guò)以上處理,當(dāng)當(dāng)前端出現(xiàn)異常時(shí),我們可以實(shí)時(shí)通知程序員進(jìn)行檢查和修復(fù)。