? ? ? ? 這一篇作者沒有給出明確的tips,只是在最后總結(jié)有提到受檢異骋嗔郏可以提升可讀性敌买,但過度的受檢異常會使得API使用起來非常痛苦节腐。同時要根據(jù)情況來決定是否拋出異常以及拋出什么異常。
? ? ? ? 書中提到用來避免拋出異常的方法麸澜,也就是拆成兩個挺尿,一個用來判斷數(shù)據(jù)的合理性返回布爾值,第二個根據(jù)上一個的返回值來決定如何處理炊邦。這么做就是簡單地對數(shù)據(jù)進(jìn)行校驗(yàn)编矾,用來避免系統(tǒng)后續(xù)動作發(fā)生的問題。這一個在我們系統(tǒng)中就是經(jīng)常做校驗(yàn)馁害,然后通過OperationResult在整個過程中傳遞errorMessage窄俏。
? ? ? ? 還有提到的就是出現(xiàn)多種情況會有要寫多個catch代碼塊,這一點(diǎn)其實(shí)我個人認(rèn)為某些業(yè)務(wù)中確實(shí)會發(fā)生不同的問題碘菜,比如之前有處理過得鎖問題凹蜈,需要拋出autoRetryException,而在外面調(diào)用的catch代碼塊中根據(jù)exception的類來確定要不要retry忍啸。不同的exception有不同的處理方式是必要且合理的仰坦。