W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
異常是在沒有定義正常執(zhí)行路徑時在Java程序的執(zhí)行期間可能出現(xiàn)的條件。
Java通過將執(zhí)行操作的代碼與處理錯誤的代碼分離來處理錯誤。
當(dāng)發(fā)生異常時,Java會創(chuàng)建一個包含有關(guān)異常的所有信息的對象,并將其傳遞給相應(yīng)的異常處理代碼。
有關(guān)異常的信息包括異常的類型,發(fā)生異常的代碼中的行號等。
要處理異常,請將代碼放在try塊中。try塊如下所示:
try { // Code for the try block }
try塊以關(guān)鍵字try開頭,后面是開括號和結(jié)束括號。
try塊的代碼放在開口和關(guān)閉大括號內(nèi)。
try塊本身不能使用。
它必須后跟一個或多個catch塊,或一個finally塊,或兩者的組合。
要處理可能在try塊中拋出的異常,請使用catch塊。
一個catch塊可用于處理多種類型的異常。
catch塊的語法與方法的語法相似。
catch (ExceptionClassName parameterName) { // Exception handling code }
catch塊的聲明就像一個方法聲明。
它從關(guān)鍵字catch開始,后面跟一對括號。
在括號中,它聲明了一個參數(shù)。
參數(shù)類型是應(yīng)該捕獲的異常類的名稱。
parameterName是用戶給定的名稱。括號后面是開口括號和結(jié)束括號。異常處理代碼放在大括號中。
當(dāng)拋出異常時,異常對象的引用將復(fù)制到parameterName。
我們可以使用parameterName從異常對象中獲取信息。
我們可以將一個或多個catch塊與try塊關(guān)聯(lián)。
try-catch塊的一般語法如下。
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號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: