W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
異常是在沒(méi)有定義正常執(zhí)行路徑時(shí)在Java程序的執(zhí)行期間可能出現(xiàn)的條件。
Java通過(guò)將執(zhí)行操作的代碼與處理錯(cuò)誤的代碼分離來(lái)處理錯(cuò)誤。
當(dāng)發(fā)生異常時(shí),Java會(huì)創(chuàng)建一個(gè)包含有關(guān)異常的所有信息的對(duì)象,并將其傳遞給相應(yīng)的異常處理代碼。
有關(guān)異常的信息包括異常的類(lèi)型,發(fā)生異常的代碼中的行號(hào)等。
要處理異常,請(qǐng)將代碼放在try塊中。try塊如下所示:
try { // Code for the try block }
try塊以關(guān)鍵字try開(kāi)頭,后面是開(kāi)括號(hào)和結(jié)束括號(hào)。
try塊的代碼放在開(kāi)口和關(guān)閉大括號(hào)內(nèi)。
try塊本身不能使用。
它必須后跟一個(gè)或多個(gè)catch塊,或一個(gè)finally塊,或兩者的組合。
要處理可能在try塊中拋出的異常,請(qǐng)使用catch塊。
一個(gè)catch塊可用于處理多種類(lèi)型的異常。
catch塊的語(yǔ)法與方法的語(yǔ)法相似。
catch (ExceptionClassName parameterName) { // Exception handling code }
catch塊的聲明就像一個(gè)方法聲明。
它從關(guān)鍵字catch開(kāi)始,后面跟一對(duì)括號(hào)。
在括號(hào)中,它聲明了一個(gè)參數(shù)。
參數(shù)類(lèi)型是應(yīng)該捕獲的異常類(lèi)的名稱。
parameterName是用戶給定的名稱。括號(hào)后面是開(kāi)口括號(hào)和結(jié)束括號(hào)。異常處理代碼放在大括號(hào)中。
當(dāng)拋出異常時(shí),異常對(duì)象的引用將復(fù)制到parameterName。
我們可以使用parameterName從異常對(duì)象中獲取信息。
我們可以將一個(gè)或多個(gè)catch塊與try塊關(guān)聯(lián)。
try-catch塊的一般語(yǔ)法如下。
try { // Your code that may throw an exception } catch (ExceptionClass1 e1){ // Handle exception of ExceptionClass1 type } catch (ExceptionClass2 e2){ // Handle exception of ExceptionClass2 type } catch (ExceptionClass3 e3){ // Handle exception of ExceptionClass3 type }
下面的代碼顯示了如何處理除零異常。
public class Main { public static void main(String[] args) { int x = 10, y = 0, z; try { z = x / y; System.out.println("z = " + z); } catch (ArithmeticException e) { String msg = e.getMessage(); System.out.println("The error is: " + msg); } System.out.println("The end."); } }
上面的代碼生成以下結(jié)果。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: