異常(或異常事件)是程序執(zhí)行過(guò)程中出現(xiàn)的問(wèn)題。當(dāng)程序(應(yīng)用程序)執(zhí)行過(guò)程中出現(xiàn)異常時(shí),程序的正常流程被中斷,程序/應(yīng)用程序異常終止,從而整個(gè)編碼可能被破壞(如果沒(méi)有備份)。因此,為了順利運(yùn)行,必須處理這些異常。越來(lái)越多的人選擇參加java培訓(xùn)來(lái)開(kāi)啟自己Java 開(kāi)發(fā)人員的職業(yè)人生,這是一個(gè)快速有效的學(xué)習(xí)方式,可以在短時(shí)間內(nèi)掌握java所需的技能,更好地找到工作。
根據(jù)Oracle,有三類異常情況:
1.檢查異常
在排除運(yùn)行時(shí)異常和錯(cuò)誤的情況下直接繼承Throwable類的類稱為檢查異常。IO異常、SQL異常等是已檢查異常的一些已知示例。檢查異常在編譯時(shí)被檢查。
2.未檢查異常
繼承運(yùn)行時(shí)異常的類被稱為未檢查異常,例如,未檢查異常包括算術(shù)異常、空指針異常、數(shù)組索引越界異常等。與檢查異常不同,它們不是在編譯時(shí)被檢查,而是在運(yùn)行時(shí)被檢查。
3.錯(cuò)誤
錯(cuò)誤是不可挽回的。有兩種主要類型的錯(cuò)誤:
1.運(yùn)行時(shí)錯(cuò)誤被稱為異常,它是中斷程序正常執(zhí)行流程的任何事件(或異常)。在java培訓(xùn)中,有系統(tǒng)全面的理論知識(shí)和企業(yè)級(jí)實(shí)戰(zhàn)項(xiàng)目,可以讓你真正掌握java知識(shí)和技能,更好地進(jìn)行項(xiàng)目開(kāi)發(fā)。
2.編譯時(shí)錯(cuò)誤是第二類錯(cuò)誤,可進(jìn)一步細(xì)分為兩種類型:
l 語(yǔ)法錯(cuò)誤-當(dāng)語(yǔ)言使用中出現(xiàn)某種錯(cuò)誤時(shí),就會(huì)出現(xiàn)語(yǔ)法錯(cuò)誤,例如,缺少逗號(hào)或括號(hào),或者在語(yǔ)句中某個(gè)條件是括號(hào),而它沒(méi)有被定義。編譯器和運(yùn)行時(shí)可以檢測(cè)到這些錯(cuò)誤。
l 語(yǔ)義錯(cuò)誤——當(dāng)語(yǔ)法正確但代碼用法不正確時(shí),就會(huì)出現(xiàn)語(yǔ)義錯(cuò)誤。例如,變量沒(méi)有正確初始化的代碼用法。編譯器可以檢測(cè)出語(yǔ)義錯(cuò)誤。
為什么我們需要異常?
Java對(duì)Try catch的異常處理保證了程序運(yùn)行過(guò)程中出現(xiàn)異常時(shí)程序流程不會(huì)中斷。例如,如果有一個(gè)程序有一堆語(yǔ)句,并且在執(zhí)行應(yīng)用程序(程序)的某些語(yǔ)句后中途發(fā)生異常,那么異常后的語(yǔ)句將不會(huì)執(zhí)行,程序?qū)⑼蝗唤K止。通過(guò)處理異常,我們確保所有語(yǔ)句都執(zhí)行,并且程序流在其運(yùn)行時(shí)不會(huì)中斷。想學(xué)習(xí)java技術(shù)的同學(xué),不妨報(bào)個(gè)Java培訓(xùn)班,有明確清晰的學(xué)習(xí)路線,理論知識(shí)+實(shí)戰(zhàn)操作,可以獲得快速提升。
Java中Try Catch的Try塊
try塊是可能發(fā)生異常的代碼塊(包含一組語(yǔ)句);它用于封裝可能拋出異常的代碼。try塊后面總是跟有catch塊,該塊處理相關(guān)try塊中發(fā)生的異常。方法中必須使用try塊,并且它后面必須跟有catch塊或finally塊或兩者。
Try塊的語(yǔ)法
1、try{
2、//code that may throw an exception
3、}catch(Exception) {
4、//code
5、}
因此,如果你認(rèn)為在編寫(xiě)程序時(shí),程序中的某些語(yǔ)句可能會(huì)拋出一個(gè)異常或一系列異常,請(qǐng)將它們包含在try塊中,并在不妨礙程序的情況下平穩(wěn)地處理該異常。
Java中Try Catch的Catch塊
catch塊通過(guò)在參數(shù)中聲明異常的類型來(lái)捕獲和處理try塊異常。catch塊包含代碼,如果try塊中出現(xiàn)異常,就會(huì)執(zhí)行該代碼。catch塊是處理異常的地方;所以這個(gè)塊必須跟在try塊后面。如果你也想學(xué)習(xí)一些項(xiàng)目開(kāi)發(fā)經(jīng)驗(yàn),可以考慮參加java培訓(xùn),有很多項(xiàng)目課程供你學(xué)習(xí),加快你的進(jìn)步。
catch塊中聲明的異常必須是父類異常(即異常)或生成的異常類型。然而,最好的方法是聲明生成的異常類型。
在Java語(yǔ)言里,可以在沒(méi)有catch塊的情況下使用try塊,但是在沒(méi)有try塊的情況下不能使用catch塊。
多個(gè)catch塊
單個(gè)try塊可以有一個(gè)或多個(gè)catch塊與其關(guān)聯(lián)。如果包含不同的異常處理程序,則可以在不同的捕獲塊中捕獲不同的異常。當(dāng)try塊中發(fā)生異常時(shí),處理該異常的相應(yīng)catch塊將執(zhí)行。因此,如果必須在發(fā)生不同異常時(shí)執(zhí)行不同的任務(wù),可以使用Java中的多個(gè)Try Catch。
在Java中,異常與Try Catch有什么關(guān)系
當(dāng)執(zhí)行Java代碼時(shí),可能會(huì)出現(xiàn)不同類型的錯(cuò)誤或異常,從而導(dǎo)致程序停止并生成錯(cuò)誤消息,或者從技術(shù)上說(shuō),導(dǎo)致Java拋出異常。這可能是由于編碼錯(cuò)誤、錯(cuò)誤輸入導(dǎo)致的錯(cuò)誤或其他不可預(yù)見(jiàn)的事情。java語(yǔ)句中的Try Catch允許你定義一個(gè)代碼塊,在執(zhí)行時(shí)對(duì)其進(jìn)行異常(錯(cuò)誤)測(cè)試。Java中的Try Catch總是成對(duì)出現(xiàn);catch語(yǔ)句允許你定義在try塊中出現(xiàn)錯(cuò)誤時(shí)要執(zhí)行的代碼塊。參加Java培訓(xùn),幫助你成為一名成功的java專業(yè)人員。