新聞中心
InvocationTargetException屬于什么異常,是運行時異常還是編譯時異常?
InvocationTargetException屬于運行時異常。它是Java反射機制中的異常,當通過反射調(diào)用方法時,如果目標方法拋出了異常,但是調(diào)用方?jīng)]有捕獲該異常,那么就會拋出InvocationTargetException。

成都創(chuàng)新互聯(lián)公司2013年開創(chuàng)至今,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務公司,擁有項目網(wǎng)站建設(shè)、網(wǎng)站設(shè)計網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元白銀做網(wǎng)站,已為上家服務,為白銀各地企業(yè)和個人服務,聯(lián)系電話:18980820575
它是由Java虛擬機在運行時拋出的,而不是在編譯時檢查的。因此,它不需要在方法簽名中聲明,也不需要在調(diào)用方進行捕獲或聲明。
當我們使用反射調(diào)用方法時,如果目標方法拋出了異常,我們可以通過捕獲InvocationTargetException來獲取原始異常信息,并進行相應的處理。
編譯錯誤,一般是語法上存在問題,編譯過不去;
運行錯誤,是指程序在運行過程中出現(xiàn)錯誤,只能說是程序存在一定的邊界bug;
編譯錯誤一般是指java語法的錯誤,運行錯誤分兩種一種是error還有就是Exception 有的異常是拋出但可繼續(xù)執(zhí)行之后的代碼,
有的異常是無法繼續(xù)進行的代碼如:
RuntimeException,ClassCastException, 那么,編譯和運行時期最好的理解就是java1.5之后出現(xiàn)的泛型機制,
在以前的版本中如果考慮不當,只會在運行時出現(xiàn)異常,現(xiàn)在加了泛型,問題會給暴露在編譯時期,這樣就提高了代碼的安全性。
編譯錯誤和運行時異常怎么區(qū)分?
編譯錯誤,一般是語法上存在問題,編譯過不去; 運行錯誤,是指程序在運行過程中出現(xiàn)錯誤,只能說是程序存在一定的邊界bug; 編譯錯誤一般是指java語法的錯誤,運行錯誤分兩種一種是error還有就是Exception 有的異常是拋出但可繼續(xù)執(zhí)行之后的代碼,有的異常是無法繼續(xù)進行的代碼如: RuntimeException,ClassCastException, 那么,編譯和運行時期最好的理解就是java1.5之后出現(xiàn)的泛型機制,在以前的版本中如果考慮不當,只會在運行時出現(xiàn)異常,現(xiàn)在加了泛型,問題會給暴露在編譯時期,這樣就提高了代碼的安全性。
Error與Exception有什么區(qū)別?
Error和Exception的聯(lián)系
繼承結(jié)構(gòu):Error和Exception都是繼承于Throwable,RuntimeException繼承自Exception。
Error和RuntimeException及其子類稱為未檢查異常(Unchecked exception),其它異常成為受檢查異常(Checked Exception)。
Error和Exception的區(qū)別
Error類一般是指與虛擬機相關(guān)的問題,如系統(tǒng)崩潰,虛擬機錯誤,內(nèi)存空間不足,方法調(diào)用棧溢出等。如java.lang.StackOverFlowError和Java.lang.OutOfMemoryError。對于這類錯誤,Java編譯器不去檢查他們。對于這類錯誤的導致的應用程序中斷,僅靠程序本身無法恢復和預防,遇到這樣的錯誤,建議讓程序終止。
Exception類表示程序可以處理的異常,可以捕獲且可能恢復。遇到這類異常,應該盡可能處理異常,使程序恢復運行,而不應該隨意終止異常。
運行時異常和受檢查的異常
Exception又分為運行時異常(Runtime Exception)和受檢查的異常(Checked Exception )。
RuntimeException:其特點是Java編譯器不去檢查它,也就是說,當程序中可能出現(xiàn)這類異常時,即使沒有用try……catch捕獲,也沒有用throws拋出,還是會編譯通過,如除數(shù)為零的ArithmeticException、錯誤的類型轉(zhuǎn)換、數(shù)組越界訪問和試圖訪問空指針等。處理RuntimeException的原則是:如果出現(xiàn)RuntimeException,那么一定是程序員的錯誤。
受檢查的異常(IOException等):這類異常如果沒有try……catch也沒有throws拋出,編譯是通不過的。這類異常一般是外部錯誤,例如文件找不到、試圖從文件尾后讀取數(shù)據(jù)等,這并不是程序本身的錯誤,而是在應用環(huán)境中出現(xiàn)的外部錯誤。
到此,以上就是小編對于java異常類的問題就介紹到這了,希望這3點解答對大家有用。
分享文章:Java異常ClassCastException的解決
新聞來源:http://m.jiaoqi3.com/article/dppddho.html


咨詢
建站咨詢
