亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

Java異常處理學習心得

發布時間:2020-10-15 15:58:09 來源:腳本之家 閱讀:174 作者:laozhang 欄目:編程語言

程序中總是存在著各種問題,為了使在程序執行過程中能正常運行,使用Java提供的異常處理機制捕獲可能發生的異常,對異常進行處理并使程序能正常運行。這就是Java的異常處理。

一、可捕獲的異常

Java中可以捕獲的異常分為可控式和運行時異常。

1. 可控式異常

在Java中把那些可以預知的錯誤,在程序編譯時就能對程序中可能存在的錯誤進行處理,并給出具體的錯誤信息,這些錯誤稱為可控式異常。常用的可控式異常如下:

異常說明 IOException 當發生某種I/O異常時,拋出此異常 SQLException 提供關于數據庫訪問錯誤或其他錯誤信息的異常 ClassNotFoundException 類沒有找到異常 NoSuchFieldException 類不包含指定名稱的字段時產生的信號NoSuchMethodException 無法找到某一特定方法時,拋出該異常

2. 運行時異常

在Java中不能被編譯器檢測到的錯誤稱為運行時異常。常用的運行時異常如下:

 異常  說明  IndexOutOfBoundsException  指示某集合或數組的索引值超出范圍時拋出該異常  NullPointerException  當應用程序試圖在需要對象的地方使用null時,拋出該異常  ArithmeticException  當出現異常的運算條件時,拋出此異常  IllegalArgumentException  拋出異常的表明向方法傳遞了一個不合法或不正確的的參數  ClassCastException  當試圖將對象強制轉換為不是實例的子類時,拋出該異常

二、處理異常

在Java中當程序出現異常時,可以使用try···catch、try···catch···finally或try···finally進行處理。

1. 使用try···catch處理異常

try后是正常執行的語句,而catch后是對異常處理的語句,catch的括號中是程序需要處理的異常類型。語法格式如下:

try {
  正常執行的語句
} catch(Exception e) {
  對異常進行處理的語句
}

這里舉一個算數異常的例子,如下。

 public class ExceptionTest { 
   public static void main(String[] args) {
     int result = 1 / 0;
     try {
       System.out.println(result);
     } catch (Exception e) {
       System.out.println("拋出異常:" + e.getMessage());
     }
   } 
 }

這里1/0是個異常的算法,因為除數不能為0。運行結果如下:

Java異常處理學習心得

因為有異常,所以不執行try后的語句,從而執行catch后的語句。其中“e.getMessage()”是獲取異常信息的方法,用于獲取詳細消息字符串;此外還有printStackTrace()方法,用于將其棧蹤跡輸出至標準錯誤流;toString()方法用于獲得簡短描述。

2. 使用try···catch···finally處理異常

這里try、catch后的語句與前面的相同,而finally后的語句無論是否發生異常都要執行,因此finally語句塊通常用于執行垃圾回收。語法格式如下:

try {
  正常執行的語句
} catch(Exception e) {
  對異常進行處理的語句
} finally {
  一定會被處理的語句
}

3. 使用try···finally處理異常

在程序發生異常時,就可以在finally語句塊中對其進行相應的處理,另外當程序沒有發生異常時,執行完try和finally之間的語句后,也將執行finally語句塊中的代碼。語法格式如下:

try {
  需要執行的語句
} finally {
  一定會被處理的語句
}

三、拋出異常

對于程序中發生的異常,除了上面的try···catch語句處理之外,還可以使用throws聲明或throws語句拋出異常。

1. 使用throws聲明拋出異常

throws用于方法聲明,在聲明方法時使用throws聲明拋出異常,然后在調用該方法中對異常進行處理。

如需聲明多個異常,各異常間要用逗號分隔,語法格式如下:

數據類型 方法名(形參列表) throws 異常類1, 異常類2, ……, 異常類n {
  方法體;
}

比如用throws拋出Exception異常。

public void showInfo() throws Exception {    // 拋出Exception
  FileInputStream in = new FileInputStream("C://Record.txt");  // 創建IO對象 
}

2. 使用throw語句拋出異常

如果希望程序自行拋出異常,可以使用throw語句來實現。語法格式如下: throw new Exception("對異常的說明"); 

使用throw語句拋出的是異常類的實例,通常與if語句一起使用。如:

if(x < 0) {
  throw new Exception("程序異常,x不能小于0。");
}

向AI問一下細節

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

AI

青州市| 郁南县| 静安区| 定安县| 西青区| 大足县| 汤原县| 和静县| 淅川县| 阿瓦提县| 花莲县| 新河县| 襄城县| 河津市| 邛崃市| 海安县| 读书| 平定县| 大庆市| 上虞市| 方山县| 萝北县| 扎赉特旗| 进贤县| 响水县| 虎林市| 陵川县| 东乡族自治县| 延川县| 巫山县| 新建县| 通化市| 白银市| 海阳市| 尉犁县| 噶尔县| 金阳县| 原平市| 周宁县| 石渠县| 广西|