溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在Java項目中對異常進行處理

發(fā)布時間:2021-03-01 14:25:23 來源:億速云 閱讀:138 作者:戴恩恩 欄目:開發(fā)技術(shù)

本文章向大家介紹怎么在Java項目中對異常進行處理的基本知識點總結(jié)和需要注意事項,具有一定的參考價值,需要的朋友可以參考一下。

Java可以用來干什么

Java主要應用于:1. web開發(fā);2. Android開發(fā);3. 客戶端開發(fā);4. 網(wǎng)頁開發(fā);5. 企業(yè)級應用開發(fā);6. Java大數(shù)據(jù)開發(fā);7.游戲開發(fā)等。

1. 異常例子

class TestTryCatch {
  public static void main(String[] args){
    int arr[] = new int[5];
    arr[7] = 10;
    System.out.println("end!!!");
  }
}

輸出:(越界)

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 7
	at TestTryCatch.main(TestTryCatch.java:4)

進程已結(jié)束,退出代碼1

2. 異常處理

怎么在Java項目中對異常進行處理
怎么在Java項目中對異常進行處理

class TestTryCatch {
  public static void main(String[] args){
    try {
      int arr[] = new int[5];
      arr[7] = 10;
    }
    catch (ArrayIndexOutOfBoundsException e){
      System.out.println("數(shù)組范圍越界!");
      System.out.println("異常:"+e);
    }
    finally {
      System.out.println("一定會執(zhí)行finally語句塊");
    }
    System.out.println("end!!!");
  }
}

輸出:

數(shù)組范圍越界!
異常:java.lang.ArrayIndexOutOfBoundsException: 7
一定會執(zhí)行finally語句塊
end!!!

怎么在Java項目中對異常進行處理

3. 拋出異常

語法:throw 異常類實例對象;

int a = 5, b = 0;
try{
  if(b == 0)
    throw new ArithmeticException("一個算術(shù)異常,除數(shù)0");
  else
    System.out.println(a+"/"+b+"="+ a/b);
}
catch(ArithmeticException e){
  System.out.println("拋出異常:"+e);
}

輸出:

拋出異常:java.lang.ArithmeticException: 一個算術(shù)異常,除數(shù)0

對方法進行異常拋出

void add(int a, int b) throws Exception {
    int c = a/b;
    System.out.println(a+"/"+b+"="+c);
  }
TestTryCatch obj = new TestTryCatch();
obj.add(4, 0);

輸出:(報錯)

java: 未報告的異常錯誤java.lang.Exception; 必須對其進行捕獲或聲明以便拋出

可見,方法后面跟了 throws 異常1, 異常2...,則 必須 在調(diào)用處 處理

改為:

TestTryCatch obj = new TestTryCatch();
try{
  obj.add(4, 0);
}
catch (Exception e){
  System.out.println("必須處理異常:"+e);
}

輸出:

必須處理異常:java.lang.ArithmeticException: / by zero

4. 編寫異常類

語法:(繼承 extends Exception 類)

class 異常類名 extends Exception{
	......
}
class MyException extends Exception{
  public MyException(String msg){
    // 調(diào)用 Exception 類的構(gòu)造方法,存入異常信息
    super(msg);
  }
}
try{
  throw new MyException("自定義異常!");
}
catch (Exception e){
  System.out.println(e);
}

輸出:

MyException: 自定義異常!

以上就是小編為大家?guī)淼脑趺丛贘ava項目中對異常進行處理的全部內(nèi)容了,希望大家多多支持億速云!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI