中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

如何使用Java異常處理

發布時間:2020-08-04 09:17:14 來源:億速云 閱讀:110 作者:小豬 欄目:編程語言

這篇文章主要為大家展示了如何使用Java異常處理,內容簡而易懂,希望大家可以學習一下,學習完之后肯定會有收獲的,下面讓小編帶大家一起來看看吧。

異常:

  • 異常是程序運行中發生的錯誤,比較常見的比如“除零異常”,如果一個除數為零,那么會發生這個異常
  • 異常會影響程序的正常運行,所以我們需要處理異常。
  • 如何使用Java異常處理
  • 所有的異常類是從 java.lang.Exception 類繼承的子類。 異常類有兩個主要的子類:IOException 類和 RuntimeException 類。

常見異常:

算術異常類:ArithmeticExecption

空指針異常類:NullPointerException

類型強制轉換異常:ClassCastException

數組下標越界異常:ArrayIndexOutOfBoundsException

輸入輸出異常:IOException


處理異常:

  • 異常的捕獲:try…catch…finally

    • 格式:如何使用Java異常處理
    • try代碼塊:里面放的是異常可能發生的代碼
    • catch代碼塊【可以有多個】:進行捕獲異常的操作
      • e是捕獲的異常類對象,直接打印會得到字符串結果(包含異常的線程、類型、位置)
      • e.getMessage():只返回異常的類型+原因
      • e.printStackTrace(): 異常的類型+原因+位置
      • e.toString():異常的類型+原因
    • finally【可選】:放的是無論發生異常與否都會執行的代碼
    • 異常類如果無法確定類型而準確捕獲時,可以捕獲成所有異常類的父類Exception
    • 當異常捕獲成功后,try…catch…finally代碼塊后面的代碼可以執行成功。

如何使用Java異常處理

如何使用Java異常處理

public class Demo {

  public static void main(String[] args) {
//    int a=10/0;
    try{
      int a=10/0;
    }catch(ArithmeticException e) {
      System.out.println("run in ArithmeticException "+e);
      //run in ArithmeticException java.lang.ArithmeticException: / by zero
    }
    catch (Exception e) {
      System.out.println(e);
    }finally {
      System.out.println("最終執行的");//最終執行的
    }

  }

}
  • 異常的聲明:

throws用于聲明異常,聲明函數可能發生的異常。【當函數中有throw來拋出異常時,函數頭必須使用throws聲明異常】

  • 拋出異常:

throw用于手動拋出異常,可以拋出自定義異常信息:throw 異常類型(異常信息)

public class Demo2 {
  
  static int div(int a,int b) throws ArithmeticException{
    if (b==0){
      throw new ArithmeticException("發生除零異常了!");
    }
    return a/b;
  }
  
  public static void main(String args[]) {
    try {
      System.out.println(div(2,0));
    }catch(ArithmeticException e) {
      System.out.println(e.getMessage());//發生除零異常了!
    }finally {
      System.out.println("in finally");//in finally
    }
    System.out.println("after finally");//after finally
    
  }
}

一般對于不想在函數中處理異常時,一般采用異常拋出處理(throw throws);否則使用try…catch…finally捕獲異常。

自定義異常:

有時候沒有定義我們想要的異常(比如我們MYSQL連接異常),那么我們可以自定義異常。

  • 所有異常都必須是 Throwable 的子類。
  • 如果希望寫一個檢查性異常類(是一些編譯器會幫忙檢查的異常),則需要繼承 Exception 類。
  • 如果你想寫一個運行時異常類(異常比如說,數組下標越界和訪問空指針異常),那么需要繼承 RuntimeException 類【這種異常類不需要throws】。
class MyException extends Exception{
  public MyException() {}
  public MyException(String msg) {
    super(msg);
  }
}

public class Demo3 {
  
  static int div(int a,int b) throws MyException {
    if (b==0){
      throw new MyException("發生異常了!");
    }
    return a/b;
  }
  
  public static void main(String args[]) {
    try {
      System.out.println(div(2,0));
    }catch(Exception e) {
      System.out.println(e);//異常.MyException: 發生除零異常了!
    }
    
  }
}

斷言:

  • assertion(斷言)在軟件開發中是一種常用的調試方式
  • 斷言一般是判斷條件是否符合來決定程序是否繼續執行的。【比如,你要吃飯,那么assert一下飯到手了沒有,不然你可能會吃空氣】
  • 斷言的開啟:eclipse、myeclipse的assert默認是關閉,想開啟assert需要在設置perferences-》Java-》installed jres中配置一下虛擬機參數,配置成-ea或者-enableassertions如何使用Java異常處理
  • Java中使用assert來定義斷言:格式:assert [boolean 表達式]
public class Demo {

  public static void main(String[] args) {
    Boolean food=false;
    System.out.println("準備開始吃飯");
    assert food;
    
    System.out.println("飯來了");
    

  }

}

如何使用Java異常處理

以上就是關于如何使用Java異常處理的內容,如果你們有學習到知識或者技能,可以把它分享出去讓更多的人看到。

向AI問一下細節

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

AI

长沙县| 佳木斯市| 巍山| 湖北省| 嘉善县| 安达市| 岐山县| 阳新县| 佛冈县| 德保县| 贵德县| 吉林省| 乌兰县| 泾源县| 石楼县| 兴隆县| 明水县| 凤凰县| 长治市| 江孜县| 泾川县| 桑日县| 彭州市| 巫山县| 抚州市| 神农架林区| 修水县| 邯郸市| 石林| 益阳市| 遂昌县| 滨海县| 米泉市| 东莞市| 冀州市| 镇康县| 遂川县| 洛川县| 如皋市| 泗洪县| 乐昌市|