<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      fengye0518

      導航

      Java學習 (26) 異常篇 異常結構&異常處理&自定義異常

      異常結構

      異常的定義

      • 異常指程序運行中出現的不期而至的各種狀況,如:文件找不到、網絡連接失敗、非法參數等
      • 異常發(fā)生在程序運行期間,它影響了正常的程序執(zhí)行流程
      • 程序出現異常時,輸出框會爆紅并提示異常類型

      異常的分類

      • 異常分為三類:

        • 檢查性異常:最具代表的檢查性異常是用戶錯誤或問題引起的異常,這是程序員無法預見的。
        • 運行時異常:運行時異常是可能被程序員避免的異常。與檢查性異常相反,運行時異常可以在編譯時被忽略。
        • 錯誤ERROR:錯誤不是異常,而是脫離程序員控制的問題。錯誤在代碼中通常被忽略。
      • Java 把異常當作對象來處理,并定義一個基類 java.lang.Throwable 作為所有異常的超類

      • 在 Java API 中已經定義了許多異常類,這些異常類分為兩大類,錯誤Error 和異常 Exception


      Error

      • Erro r類對象由 Java 意擬機生成并拋出,大多數錯誤與代碼編寫者所執(zhí)行的操作無關
      • Java 虛擬機運行錯誤 (Virtual MachineError),當 JVM 不再有繼續(xù)執(zhí)行操作所需的內存資源時,將出現 OutOfMemoryError。這些異常發(fā)生時、Java虛擬機(JV)一般會選擇線程終止
      • 發(fā)生在虛擬機試圖執(zhí)行應用時,如類定義錯誤 (NoClassDefFoundError) 、鏈接錯誤 (LinkageError) 。這些錯誤是不可查的,因為它們在應用程序的控制和處理能力之外,而且絕大多數是程序運行時不允許出現的狀況
      • 避免此情況發(fā)生

      Expection

      • 在Exception分支中有一個重要的子類 RuntimeException (運行時掉常)

        • ArrayIndexOutOfBoundsException (數組下標越界)
        • NullPointerException (空指針異常)
        • ArithmeticException (算術異常)MissingResourceException(丟失資源)
        • ClassNotFoundException (找不到類)
      • 這些異常是不檢查異常,程序中可以選擇捕獲處理,也可以不處理

      • 這些異常一般是由程序邏輯錯誤引起的,程序應該從邏輯角度盡可能避免這類異常的發(fā)生

      • 優(yōu)秀的程序員不允許出現異常!


      Error和Exception的區(qū)別

      • Error通常是災難性的致命的錯誤,是程序無法控制和處理的,當出現這些異常時,Java 虛擬機(JVM)一般會選擇終止線程
      • Exception通常情況下是可以被程序處理的,并且在程序中應該盡可能的去處理這些異常

      具體講解視頻

      異常01:Error和Exception_嗶哩嗶哩_bilibili


      異常處理

      • 異常處理機制分為捕獲異常和拋出異常

      捕獲異常

      • 捕獲異常使用 try-catch 來進行捕獲異常
      • 捕獲異常需要知道該異常的類型
      • finally
        • finally 存在方法中時,無論能否判斷出異常,都會正常輸出
        • finally 是處理拋出異常后的工作(比如關閉該方法)
        • 捕獲異常可以不寫 finally
        • finally會在程序沒進入 try 就報錯的情況下不執(zhí)行
      • 如果要捕獲多個異常,捕獲順序是從小到大

      語法實例

      public static void main(String[] args) {
          int a = 1;
          int b = 0;
      
          try {
              System.out.println(a/b);
          } catch (Exception e) {
              throw new RuntimeException(e);
          } finally {
              System.out.println("重新輸入數據");
          }
      }
      
      • 多個異常捕獲
      public static void main(String[] args) {
          int a = 1;
          int b = 0;
      
          try {
              System.out.println(a/b);
          }catch (Exception e){
              System.out.println("Exception");
          } catch (Error t){
              System.out.println("Error");
          }catch (Throwable e){
              System.out.println("Throwable");
          } finally {
              System.out.println("重新輸入數據");
          }
      }
      

      拋出異常

      • 拋出異常使用 throw、throws 來進行拋出異常
      • 使用 throw /throws 拋出異常時,需要 添加 try-catch 使代碼能夠在被拋出異常后仍能正常運行
      • throw 在方法體運行,throws 在方法上運行

      語法實例

      public static void main(String[] args) {
          try {
              new Text().text(1,0);
          } catch (ArithmeticException e) {
              throw new RuntimeException(e);
          }
      }
      
      //如果方法內無法處理此異常,通過 throws 在方法上拋出異常
      public void text(int a,int b) throws ArithmeticException{
          if (b == 0){//throw     throws
              //主動拋出異常,一般在方法中使用
              throw new ArithmeticException();
          }
          System.out.println(a/b);
      }
      

      具體講解視頻

      異常02:捕獲和拋出異常_嗶哩嗶哩_bilibili


      自定義異常

      • 使用Java內置的異常類可以描述在編程時出現的大部分異常情況。除此之外,用戶還可以自定義異常
      • 用戶自定義異常類,只需繼承 Exception 類即可
      • 在程序中使用自定義異常類,大體可分為以下幾個步驟
        1. 創(chuàng)建自定義異常類
        2. 在方法中通過 throw/throws 關鍵字拋出異常對象
        3. 如果在當前拋出異常的方法中處理異常,可以使用 try-catch 語句捕獲并處理;否則在方法的聲明處通過throws關鍵字指明要拋出給方法調用者的異常,繼續(xù)進行下一步操作
        4. 在出現異常方法的調用者中捕獲并處理異常

      具體講解視頻

      異常03:自定義異常及經驗小結_嗶哩嗶哩_bilibili

      posted on 2022-08-21 18:21  落楓葉子  閱讀(159)  評論(0)    收藏  舉報

      主站蜘蛛池模板: 蜜桃麻豆www久久囤产精品| 亚洲av无码之国产精品网址蜜芽 | 深夜释放自己在线观看| 欧美z0zo人禽交另类视频| 亚洲欧美日韩在线码| 久久这里只精品热免费99| 久久热在线视频精品视频| 狠狠综合久久av一区二| 色综合网天天综合色中文| 衡山县| 香港日本三级亚洲三级| 亚洲一区二区三区四区| 久久精品国产亚洲夜色av网站| 亚洲色大成网站www久久九| 熟妇人妻中文a∨无码| 国产一区二区黄色激情片| 中文字幕国产精品一二区| 国产成人av大片大片| 亚洲精品无码高潮喷水A| 欧美乱大交aaaa片if| 亚洲情A成黄在线观看动漫尤物| 国产精品福利自产拍久久| 国产成人亚洲欧美二区综合| 色吊丝一区二区中文字幕| 国产午夜成人无码免费看| 最近日本免费观看高清视频| 久久综合国产色美利坚| 亚洲女人天堂成人av在线| 欧美白妞大战非洲大炮| 成人午夜福利视频后入| 四虎女优在线视频免费看| 91精品国产老熟女在线| 国产亚洲精品日韩香蕉网| 波多野结衣久久一区二区| 国产av亚洲精品ai换脸电影 | 临清市| 4399理论片午午伦夜理片| 国产中文一区卡二区不卡| 国产精品一线天在线播放| 中文日韩在线一区二区| 色又黄又爽18禁免费视频|