盡管這條建議看上去是顯而易見(jiàn)的,但是它卻常常被違反扁瓢,因此值得再次提出來(lái)详恼。當(dāng)API的設(shè)計(jì)者聲明一個(gè)方法將拋出某個(gè)異常的時(shí)候,它們等于正在視圖說(shuō)明某...
當(dāng)對(duì)象拋出異常之后引几,通常我們期望這個(gè)對(duì)象仍然保持在一種定義良好的可用狀態(tài)之中昧互,即使失敗是發(fā)生在執(zhí)行某個(gè)操作的過(guò)程中間。對(duì)于受檢異常而言伟桅,這尤其重...
當(dāng)程序由于未捕獲的異常而失敗的時(shí)候敞掘,系統(tǒng)會(huì)自動(dòng)打印出該異常的堆棧軌跡。在堆棧軌跡中包含該異常的字符串表示法楣铁,即它的toString方法的調(diào)用結(jié)果...
描述一個(gè)方法所拋出的異常玖雁,是正確使用這個(gè)方法時(shí)所需文檔的重要組成部分。因此盖腕,花點(diǎn)時(shí)間仔細(xì)地為每個(gè)方法拋出的異常建立文檔是特別重要地赫冬。 始終要單獨(dú)...
如果方法拋出的異常與它所執(zhí)行的任務(wù)沒(méi)有明顯的聯(lián)系,這種情形將會(huì)使人不知所措溃列。當(dāng)方法傳遞由底層抽象拋出的異常時(shí)劲厌,往往會(huì)發(fā)生這種情況。除了使人感到困...
專家級(jí)程序員與缺乏經(jīng)驗(yàn)的程序員一個(gè)最重要的區(qū)別在于听隐,專家追求并且通常也能夠?qū)崿F(xiàn)高度的代碼重用脊僚。代碼重用是值得提倡的,這是一條通用的規(guī)則遵绰,異常也不...
許多Java程序員不喜歡受檢異常辽幌,但是如果使用得當(dāng),它們可以改善API和程序椿访。不同于返回碼和未受檢異常的是乌企,它們強(qiáng)迫程序員處理異常地條件,大大地...
Java程序設(shè)計(jì)語(yǔ)言提供了三種可拋出結(jié)構(gòu):受檢異常加酵、運(yùn)行時(shí)異常和錯(cuò)誤。關(guān)于什么時(shí)候適合使用哪些可拋出結(jié)構(gòu)哭当,程序員中間存在一些困惑猪腕。雖然這項(xiàng)決定并...
某一天钦勘,如果你不走運(yùn)的話陋葡,可能會(huì)碰到下面這樣的代碼: 這段代碼有什么作用呢?看起來(lái)根本不明顯彻采,這正是它沒(méi)有真正被使用的原因(詳見(jiàn)第67條)腐缤。事實(shí)...