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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

newExc.initCause(e); 這句話是什么意思 可有可無(wú)么

newExc.initCause(e); ?這句話是什么意思 ?可有可無(wú)么

正在回答

5 回答

這是對(duì)異常的一種包裝技巧。更底層產(chǎn)生的異常需要上層的代碼來(lái)進(jìn)行處理。一般而言,如果上層的代碼catch到一個(gè)異常以后,你想對(duì)更上層的結(jié)構(gòu)拋出一個(gè)更高級(jí)異常來(lái)說(shuō)明。你可以直接在catch語(yǔ)句塊中throw一個(gè)新的異常,但是這樣的做法是不被提倡的,因?yàn)槟氵@樣會(huì)丟失底層產(chǎn)生的異常的信息?,F(xiàn)在假如在你的某段代碼會(huì)產(chǎn)生FileNotFoundException,你需要通過(guò)一個(gè)中間的代碼向上面拋出一個(gè)IOException你有這么兩種做法:

try{
????代碼...
}catch(FileNotFoundException?e){
????throw?new?IOException;
}

這是第一種,但是這種做法是不被提倡的,因?yàn)樗麜?huì)丟掉原始異常。正確的做法是這樣的:

try{
????代碼...
}catch(FileNotFoundException?e){
????Throable?se?=?new?IOException("error...");
????se.initCause(e);?
????throw?se;
}

initCause()的作用你可以理解成是保存原始的異常,當(dāng)你想要知道底層發(fā)生了什么異常的時(shí)候調(diào)用getCause()就能夠獲得原始異常。其實(shí)這就形成一個(gè)異常鏈了,這對(duì)于你的代碼是很有幫助的。

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

weibo_我不學(xué)習(xí)沒(méi)人愛(ài)_0 提問(wèn)者

非常感謝!
2015-12-01 回復(fù) 有任何疑惑可以回復(fù)我~
#2

此用戶不存在或被刪除

說(shuō)的真棒!
2015-12-04 回復(fù) 有任何疑惑可以回復(fù)我~
#3

慕函數(shù)1733451

newexc.initcause怎么在API中找不到呢?
2017-05-01 回復(fù) 有任何疑惑可以回復(fù)我~

第一種代碼也可以寫(xiě)成這樣,是不是就考慮一下“不提倡”了呢?代碼如下:

try{

????代碼...

}catch(FileNotFoundException?e){

????throw(IOException)?

? ? new?IOException("error...").initCause(e);

}


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

Throable是不是寫(xiě)錯(cuò)了


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

很好很形象

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

您好,我其實(shí)想知道,異常鏈?zhǔn)歉陕镉玫??這個(gè)異常鏈很經(jīng)常用到么?

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

qq_老表_1

我覺(jué)得應(yīng)該較為常用,應(yīng)為我們編寫(xiě)程序的時(shí)候比較固定化思維,都按照我們自己的設(shè)計(jì)的步驟操作程序,那坑定不會(huì)出現(xiàn)問(wèn)題,但是用戶就不一樣了,打亂操作步驟什么的就會(huì)導(dǎo)致異常發(fā)生,我們會(huì)添加一些自定義的異常來(lái)提醒他們這種操作正確,得不到想要的結(jié)果。
2016-03-05 回復(fù) 有任何疑惑可以回復(fù)我~
#2

大腦艾瑞克 回復(fù) qq_老表_1

是的額,這個(gè)問(wèn)題問(wèn)完了之后,我才意識(shí)到有多傻。eclipse這樣的IDE都會(huì)自動(dòng)提示的。挺好的。
2016-03-06 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消

newExc.initCause(e); 這句話是什么意思 可有可無(wú)么

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

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

幫助反饋 APP下載

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

公眾號(hào)

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