<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Java基礎(chǔ)入門之異常、異常分類、異常防護(hù)解析

          共 2736字,需瀏覽 6分鐘

           ·

          2022-02-18 20:41

          點(diǎn)擊上方“Java進(jìn)階學(xué)習(xí)交流”,進(jìn)行關(guān)注

          后臺(tái)回復(fù)“Java”即可獲贈(zèng)Java學(xué)習(xí)資料

          孤云將野鶴,豈向人間住。

          前言

          大家好,我是Java進(jìn)階者。這篇文章我們主要介紹Java基礎(chǔ)入門之異常、異常分類、異常防護(hù)知識(shí),一起來(lái)學(xué)習(xí)下吧!


          一、異常

          (一)什么是異常

          在我們現(xiàn)實(shí)生活中,例如感冒發(fā)燒、電腦突然出現(xiàn)藍(lán)屏等,在程序中也會(huì)出現(xiàn)不正常的情況,例如磁盤不足、網(wǎng)絡(luò)中斷等,像我們手機(jī)有時(shí)候微信會(huì)出現(xiàn)彈窗提示無(wú)法響應(yīng)。在程序執(zhí)行中,任何中斷正常程序運(yùn)行就是異常。

          (二)java中引起異常因素

          第一種,Java 虛擬機(jī)檢測(cè)到不正常的運(yùn)行,這些狀態(tài)可能是由以下幾種情況引起的:

          1.表達(dá)式算數(shù)異常,例如3被0整數(shù)。

          2.在載入程序時(shí)出現(xiàn)錯(cuò)誤。

          3.超出某些限制資源,例如使用的內(nèi)存空間太多了。

          第二種,Java代碼中的throw 語(yǔ)句被運(yùn)行。

          第三種,異步異常,這個(gè)異常可能的原因是

          1.thread 的stop 方法被執(zhí)行。

          2.Java 虛擬機(jī)內(nèi)部出現(xiàn)錯(cuò)誤。

          (三)java處理異常有兩種方式捕獲異常和拋出異常

          1.捕獲異常:當(dāng)明確知道怎么去處理這些異常時(shí),采取捕獲的方式進(jìn)行處理。

          2.拋出異常:當(dāng)不知道怎么去處理這些異常時(shí),采取拋出的方式進(jìn)行處理。

          (四)異常例子

          例如:

          public class p34 {public static void main(String[] args) {        // TODO Auto-generated method stub        int result=div(6,0);//調(diào)用div()方法        System.out.println(result);}//此方法實(shí)現(xiàn)兩個(gè)整數(shù)相除public static int div(int a,int b){        int result=a/b;//定義一個(gè)int類型變量result,保存兩個(gè)數(shù)相除結(jié)果        return result;//結(jié)果返回值  }}

          運(yùn)行的結(jié)果是:

          我們從上面的運(yùn)行結(jié)果可以看到j(luò)ava.lang.ArithmeticException,這個(gè)異常是調(diào)用div()方法傳入了0,在運(yùn)算時(shí)出現(xiàn)錯(cuò)誤,因?yàn)槭潜?整除。在Java運(yùn)行時(shí)系統(tǒng)找不到可以捕獲異常的方法,就會(huì)運(yùn)行時(shí)系統(tǒng)將終止,相應(yīng)的Java程序也將退出。


          二、異常分類

          Object是所有類的父類或基類,Throwable類分別由兩個(gè)子類Error和Exception。Error表示的是產(chǎn)生的錯(cuò)誤,Exception表示產(chǎn)生的異常。

          Error類表示錯(cuò)誤類,表示在程序在運(yùn)行產(chǎn)生系統(tǒng)出現(xiàn)錯(cuò)誤或超出某些限制資源,這種情況是如果改程序本身是不能恢復(fù)的運(yùn)行的。

          Exception類表示異常類,表示本身可以處理錯(cuò)誤,在開發(fā)程序中進(jìn)行異常處理,針對(duì)它的子類。

          Throwable類常用方法

          String getMessage()方法是返回Throwable詳細(xì)信息字符串

          Void printStackTrace()方法是把 Throwable 及其追蹤輸出至標(biāo)準(zhǔn)錯(cuò)誤流。

          Void printStackTrace()方法是把 Throwable 及其追蹤輸出到指定輸出流。


          三、try...catch語(yǔ)句

          1.如果Java運(yùn)行時(shí)系統(tǒng)找不到可以捕獲異常的方法,則運(yùn)行時(shí)系統(tǒng)將終止,相應(yīng)的Java程序也將退出。解決這個(gè)問(wèn)題使用一種異常進(jìn)行的處理方式是異常處理。

          2.異常捕獲語(yǔ)法

          try { //可能發(fā)生異常的代碼塊; } catch(異常類型  異常的對(duì)象名)//捕獲并處理異常{//異常處理代碼塊; }

          3.使用try...catch語(yǔ)句例子

          public class p35 {public static void main(String[] args) {        // TODO Auto-generated method stub        //定義一個(gè)try...catch語(yǔ)句捕獲異常        try{            int result=div(6,0);//調(diào)用div()方法            System.out.println(result);        }catch(Exception e){//捕獲并處理異常            System.out.println("捕獲異常信息為"+e.getMessage());        }        System.out.println("程序繼續(xù)向下執(zhí)行");}//此方法實(shí)現(xiàn)兩個(gè)整數(shù)相除        public static int div(int a,int b){            int result=a/b;//定義一個(gè)int類型變量result,保存兩個(gè)數(shù)相除結(jié)果            return result;//結(jié)果返回值        }}

          運(yùn)行的結(jié)果是:

          從上面代碼中,try代碼塊是可能發(fā)生異常的代碼塊,發(fā)生被0整除,接著運(yùn)行catch代碼調(diào)用Exception對(duì)象的getMessage()方法,返回異常信息/ by zero。處理完后繼續(xù)往下執(zhí)行。


          四、總結(jié)

          本文主要介紹了異常、異常分類、try...catch語(yǔ)句。

          異常是在程序執(zhí)行中,任何中斷正常程序運(yùn)行就是異常。介紹了引起異常的因素,java處理異常有兩種方式捕獲異常和拋出異常,使用異常的例子來(lái)幫助理解什么是異常。

          異常分類Object是所有類的父類或基類,Throwable類分別由兩個(gè)子類Error和Exception。介紹了Throwable類常用方法。

          當(dāng)Java運(yùn)行時(shí)系統(tǒng)找不到可以捕獲異常的方法,則運(yùn)行時(shí)系統(tǒng)將終止,相應(yīng)的Java程序也將退出,使用try...catch語(yǔ)句解決這個(gè)問(wèn)題。

          希望大家通過(guò)本文的學(xué)習(xí),對(duì)你有所幫助!


          -------------------?End?-------------------

          往期精彩文章推薦:

          歡迎大家點(diǎn)贊,留言,轉(zhuǎn)發(fā),轉(zhuǎn)載,感謝大家的相伴與支持

          想加入Java學(xué)習(xí)群請(qǐng)?jiān)诤笈_(tái)回復(fù)【入群

          萬(wàn)水千山總是情,點(diǎn)個(gè)【在看】行不行

          瀏覽 36
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  日本xxxx在线 | 波多野结衣一区二区三区免费视频 | 国产AV一级 | 日韩在线黄色电影 | 国产二级片 |