printstacktrace方法的作用 javae.printStackTrace()什么意思呢?
javae.printStackTrace()什么意思呢?printstacktrace()方法的意思是:打印命令行上的異常信息,程序中錯(cuò)誤的位置和原因。用于try{BufferedReader in
javae.printStackTrace()什么意思呢?
printstacktrace()方法的意思是:打印命令行上的異常信息,程序中錯(cuò)誤的位置和原因。用于try{BufferedReader input=new BufferedReader(new inputstreamreader)(系統(tǒng)輸入))字符串輸入行=input.readline文件()積分i=整數(shù).parseInt(輸入線)。Intvalue()}catch(exception E){E.printstacktrace()}當(dāng)執(zhí)行捕獲到異常時(shí),它將執(zhí)行catch中的語(yǔ)句以尋求采用
深層輸出異常調(diào)用的過(guò)程。例如,最終顯示為nullpointexception。您可以使用e.printstacktrace()輸出整個(gè)調(diào)用過(guò)程。例如,main方法調(diào)用一個(gè)類,該類初始化一個(gè)值,然后×××,最后在錯(cuò)誤行中拋出一個(gè)異常。
printStackTrace()這個(gè)代碼是干什么的?
e.Printstacktrace()打印異常堆棧信息,而throw new runtimeException(e)在運(yùn)行時(shí)異常中拋出異常包。我們經(jīng)??吹竭@種編寫(xiě)try{…}catch(異常E){E.printstacktrace()throw new runtimeException(E)}的方法。這是處理無(wú)法進(jìn)一步處理的異常的一般方法。try塊中有一個(gè)異常,它被catch捕獲。首先,我們需要在標(biāo)準(zhǔn)輸出上打印異常。但如果沒(méi)有拋出語(yǔ)句,錯(cuò)誤將被catch塊悄悄吃掉,程序?qū)⒗^續(xù)運(yùn)行。但此時(shí),很可能程序的狀態(tài)是錯(cuò)誤的,繼續(xù)操作沒(méi)有意義,因此應(yīng)該繼續(xù)拋出此異常。當(dāng)然你可以寫(xiě)throw e,但是這個(gè)e是個(gè)例外。如果拋出,則必須在函數(shù)頭的throws中聲明,例如public void ABC()拋出Exception,然后調(diào)用此函數(shù)的函數(shù)也需要這樣做,所以一般的處理是將e打包到runtime Exception:New RuntimeException(e)中,這樣就不需要在函數(shù)頭中聲明了。但這只是一種通用的方法,在實(shí)際方案中不能機(jī)械地忽略實(shí)際情況和需求。
throwe和e.printStackTrace()有什么區(qū)別?
Catch(exception E){E.printstacktrace()}當(dāng)try語(yǔ)句中的異常為yes時(shí),將執(zhí)行Catch語(yǔ)句。Java運(yùn)行時(shí)系統(tǒng)會(huì)自動(dòng)初始化catch括號(hào)中的異常E,即實(shí)例化異常類型的對(duì)象。E是此對(duì)象的引用名稱。然后E(Reference)將自動(dòng)調(diào)用exception類中指定的方法,并顯示E.printstacktrace()。printstacktrace()方法的意思是:在命令行上打印異常信息、程序中錯(cuò)誤的位置和原因。(這是一個(gè)通俗易懂的解釋。)