3 回答

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超4個(gè)贊
什么意思,java的異常設(shè)計(jì)結(jié)構(gòu)是不可恢復(fù)的,即出現(xiàn)異常表明程序不能繼續(xù)進(jìn)行catch如果捕獲了,程序就不會(huì)進(jìn)行了。不但是java,多數(shù)語言的異常模型都是不可恢復(fù)的。包括C。
樓上說可以,難道還有別的方法?
我想了下,如果要實(shí)現(xiàn),多線程可能可以解決,你可以設(shè)置一個(gè)全局變量static的變量,這樣一個(gè)線程死亡之前給把參數(shù)保留在這個(gè)類里面。
樓上說:捕獲的范圍進(jìn)行一下調(diào)整,catch (DocumentException e)改成catch(Exception e)試試 .是肯定不行的,因?yàn)镋xception 比DocumentException 要大是它的父類。

TA貢獻(xiàn)1946條經(jīng)驗(yàn) 獲得超3個(gè)贊
你說的是繼續(xù)執(zhí)行嗎?
用finally啊..
try{
}catch{
}finally{
//這里寫入的語句不管是否捕獲異常都會(huì)被執(zhí)行
}

TA貢獻(xiàn)1853條經(jīng)驗(yàn) 獲得超6個(gè)贊
你把 temp定義到try之外。然后在遇到異常后,給temp賦值,不要在catch中寫什么return就行。
例如:
……………………
Document objDOM = DocumentHelper.createDocument();
String temp ="";
try{
……
}catch (DocumentException e)
{
temp = "error";
}
Node node = objDOM.selectSingleNode("//"+temp);
添加回答
舉報(bào)