第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

對教程的程序有一個不解之處

//關(guān)閉資源

try {

if(pw!=null)

? pw.close();

if(os!=null)

? os.close();

if(is!=null)?

? is.close();

if(isr!=null)

? isr.close();

if(br!=null)

? br.close();

為何要加一個判斷條件?是在想不通!

正在回答

4 回答

這是一種正確、嚴(yán)謹(jǐn)?shù)膶懛ā?/p>

驗證非NULL是編碼中很重要的一環(huán)。假如本來就是NULL,這是調(diào)用各自的close()方法是會報錯的。

如果在實例化這些對象時出錯導(dǎo)致這些對象為NULL,或是實例化沒問題但中途出了什么異常導(dǎo)致這些對象為NULL,都會在未經(jīng)驗證非NULL前嘗試調(diào)用close()方法關(guān)閉時報錯。

p.s. 講師寫socket關(guān)閉條件時寫的是if(socket!=null)socket.close();這樣寫沒錯,但我想說一般是另一種寫法if(!socket.isClosed())socket.close();

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

啊梨真神奇 提問者

受教了,謝謝!
2016-07-04 回復(fù) 有任何疑惑可以回復(fù)我~

這樣的代碼才有健壯性

0 回復(fù) 有任何疑惑可以回復(fù)我~

這是程序的嚴(yán)謹(jǐn)性

是在finally中執(zhí)行的,就是說這段代碼肯定執(zhí)行。如果這些流在new的時候出錯了,那調(diào)用close方法會拋出nullpoint exception。

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

染紅_街道

把它放在try最后也可以啊,如果前面報錯,那么后面根本不會執(zhí)行,何來關(guān)閉之說
2016-07-11 回復(fù) 有任何疑惑可以回復(fù)我~

非空驗證,如果當(dāng)pw、os、is等為空的時候close會報異常

0 回復(fù) 有任何疑惑可以回復(fù)我~

舉報

0/150
提交
取消

對教程的程序有一個不解之處

我要回答 關(guān)注問題
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號