18岁末年禁止进入

    1. <th id="axuoa"><sup id="axuoa"></sup></th>

      <code id="axuoa"><em id="axuoa"></em></code>
    2. <code id="axuoa"></code>

      <object id="axuoa"></object>

      當前位置:首頁 > 學習資源 > 講師博文 > java異常處理機制原理

      java異常處理機制原理 時間:2018-04-03      來源:未知

      異常就是在程序的運行過程中所發生的不正常的事件, 它會中斷正在運行的程序,面對異常該怎么辦呢?通常情況下, 我們會這樣處理:

      Java編程語言使用異常處理機制為程序提供了錯誤處理的能力異常處理機制拋抓模型

      運行的代碼先拋出異常: 放在try{}塊中

      然后捕獲抓取異常: catch(異常類型 異常對象)

      最后再進行異常處理: catch{}塊中進行處理

      Java異常處理機制

      Java中如何進行異常處理

      Java的異常處理是通過5個關鍵字來實現的:

      try執行可能產生、 catch捕獲異常、 finally無論是否發生異常,代碼總能執行、 throw手動/顯式、 throws拋出異常

      示例:

      public void method(){

      try {

      // 代碼段 1

      // 產生異常的代碼段 2

      // 代碼段 3

      } catch (異常類型 ex) {

      // 對異常進行處理的代碼段4

      }//

      代碼段5

      }finally{

      //無論是否有異常都會執行的代碼段6

      }

      try-catch異常處理流程

      異常是一種特殊的對象, 類型為java.lang.Exception或其子類發生異常printStackTrace的堆棧跟蹤功能顯示出程序運行到當前類的執行流程

      java.util.InputMismatchException //異常類型

      at java.util.Scanner.throwFor(Scanner.java:840) //異常堆棧信息

      at java.util.Scanner.next(Scanner.java:1461) //在此方法中拋出了異常

      at java.util.Scanner.nextInt(Scanner.java:2091)

      at java.util.Scanner.nextInt(Scanner.java:2050)

      at cn.jbit.exception.Test3.main(Test3.java:15)// 出現異常的位置

      在catch塊中處理異常,可以加入用戶自定義處理信息,通過調用異常對象的方法輸出異常信息:

      e.printStackTrace();

      System.err.println("出現錯誤: 被除數和除數必須是整數," + "除數不能為零。 ");

      void printStackTrace()輸出異常的堆棧信息

      String getMessage()返回異常信息描述字符串,是printStackTrace()輸出信息的一部分

      方 法 名 說 明
      Exception 異常層次結構的根類
      ArithmeticException 算術錯誤情形, 如以零作除數
      ArrayIndexOutOfBoundsE
      xception
      數組下標越界
      NullPointerException 嘗試訪問 null 對象成員
      ClassNotFoundException 不能加載所需的類
      InputMismatchException 欲得到數據類型與實際輸入類型不匹配
      IllegalArgumentException 方法接收到非法參數
      ClassCastException 對象強制類型轉換出錯
      NumberFormatException 數字格式轉換異常, 如把"abc"轉換成
      數字

      在try-catch塊后加入finally塊, 可以確保無論是否發生異常, finally塊中的代碼總能被執行

      注意: 如果代碼塊中加入了System.exit(1);

      強制終止程序執行語句,finally塊不會執行

      public class Test4 {

      public static void main(String[] args) {

      try {

      Scanner in = new Scanner(System.in);

      System.out.print("請輸入被除數:");

      int num1 = in.nextInt();

      System.out.print("請輸入除數:");

      int num2 = in.nextInt();

      System.out.println(String.format("%d / %d = %d",

      num1, num2, num1/ num2));

      } catch (Exception e) {

      System.err.println(“出現錯誤: 被除數和除數必須是整數, "

      +"除數不能為零。 ");

      System.out.println(e.getMessage());

      } finally {

      System.out.println("感謝使用本程序! ");

      }

      }

      }

      程序中預先想好了對付異常的處理辦法,如果程序運行異常!則開始對異常進行處理,處理完畢,程序繼續運行,這就是java異常處理機制的原理,希望讀完該文章能對你有所幫助。

      上一篇:Linux內核中的數據結構的一點認識

      下一篇:三層架構實現Java Web案例

      戳我查看2020年嵌入式每月就業風云榜

      點我了解華清遠見高校學霸學習秘籍

      猜你關心企業是如何評價華清學員的

      干貨分享
      相關新聞
      前臺專線:010-82525158 企業培訓洽談專線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2020 北京華清遠見科技發展有限公司 版權所有 ,京ICP備16055225號,京公海網安備11010802025203號

      回到頂部

      18岁末年禁止进入

      1. <th id="axuoa"><sup id="axuoa"></sup></th>

        <code id="axuoa"><em id="axuoa"></em></code>
      2. <code id="axuoa"></code>

        <object id="axuoa"></object>