Java操作應(yīng)用——用try catch的時(shí)候,要加finally
考慮下面的代碼片斷
運(yùn)行結(jié)果:
在Finally代碼塊中
在Finally代碼塊中
在Finally代碼塊中
在Finally代碼塊中
在Try內(nèi)部代碼塊,退出不執(zhí)行Finally代碼塊
在運(yùn)行代碼前,它看起來像要打印 ”在Finally代碼塊中“ 5次。但是執(zhí)行的結(jié)果只有4次。第五次打印的結(jié)果是 ”在Try內(nèi)部代碼塊,退出不執(zhí)行Finally代碼塊“。
1> try、catch、finally語句中,在如果try語句有return語句,則返回的之后當(dāng)前try中變量此時(shí)對應(yīng)的值,此后對變量做任何的修改,都不影響try中return的返回值
2> 如果finally塊中有return 語句,則返回try或catch中的返回語句忽略。
3 >如果finally塊中拋出異常,則整個(gè)try、catch、finally塊中拋出異常
所以使用try、catch、finally語句塊中需要注意的是
1> 盡量在try或者catch中使用return語句。通過finally塊中達(dá)到對try或者catch返回值修改是不可行的。
2 >finally塊中避免使用return語句,因?yàn)閒inally塊中如果使用return語句,會顯示的消化掉try、catch塊中的異常信息,屏蔽了錯(cuò)誤的發(fā)生
3 >finally塊中避免再次拋出異常,否則整個(gè)包含try語句塊的方法回拋出異常,并且會消化掉try、catch塊中的異常
點(diǎn)擊加載更多評論>>