日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > java >内容正文

java

java exception用法_Java基础回顾_Exception异常使用详解

發(fā)布時間:2025/3/15 java 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java exception用法_Java基础回顾_Exception异常使用详解 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

package 內(nèi)部類異常包裝器;

public class 異常 {

/**

* 1.異常:

* 有Error和Exception兩個基本子類

* 2.Error:

* Error表示恢復(fù)不是不可能但很困難的情況下的一種嚴重問題。比如說內(nèi)存溢出。不可能指望程序能處理這樣的情況。

* 3.Exception:

* 表示一種設(shè)計或?qū)崿F(xiàn)問題。也就是說,它表示如果程序運行正常,從不會發(fā)生的情況。比如,如果數(shù)組索引擴展不超出數(shù)組界限,那么,ArrayIndexOutOfBoundsException異常從不會拋出。

*

* 4.本類中對除以0產(chǎn)生錯誤的異常進行捕捉,拋出異常、finally多執(zhí)行釋放資源,回收垃圾

* 5.處理異常:

* 第一,通過將Try{}catch(){}塊納入其代碼中,在這里捕獲給被命名為屬于某個超類的異常,并調(diào)用方法處理它。即使catch塊是空的,這也算是處理情況。

第二,讓被調(diào)用的方法表示它將不處理異常,而且該異常將被拋回到它所遇到的調(diào)用方法中。它是按如下所示通過用throws子句標記的該調(diào)用方法的聲明來實現(xiàn)的:

public void troublesome() throws IOException

6.異常:

(1).非受檢異常:是指編譯不要求強制處理的異常。一般是編程時的邏輯錯誤。是程序員應(yīng)該積極避免出現(xiàn)的異常

錯誤的類型轉(zhuǎn)換異常:java.lang.ClassCastException

數(shù)組下標越界異常:java.lang.ArrayIndexOutOfBoundsException

空指針異常:java.lang.NullPointerException

除0溢出異常:java.lang.ArithmeticException

數(shù)據(jù)格式異常 NumberFormatException

(2).受檢異常:是指編譯器要求必須處理的異常,即程序在運行時由于外界因素造成的一般性異常

沒有找到指定名稱的類異常:java.lang.ClassNotFoundException

訪問不存在的文件異常:java.io.FileNotFoundException

操作文件時發(fā)生的異常:java.io.IOException

操作數(shù)據(jù)庫時發(fā)生的異常:java.sql.SQLException

7.拋出異常:

(1).throw語句用來明確拋出一個異常,用戶必須得到一個Throwable類或其它子類產(chǎn)生的實例句柄,通過參數(shù)傳到catch子句,或者用new創(chuàng)建一個實例

注意:執(zhí)行throw語句后,運行流程將立即停止,throw的下一條語句也將暫停執(zhí)行。throw后面必須拋出一個Throwable的實例

(2).throws:\一個方法有異常,但它本身并不對異常進行處理。將其向外拋出異常 詳見:本包中的 異常2.java類

*/

public static void main(String[] args) {

System.out.println("請打開數(shù)據(jù)庫連接");

System.out.println("數(shù)據(jù)庫操作");

try {

int i = 12 / 0;//異常代碼,0不能作為整除數(shù)

System.out.println("執(zhí)行數(shù)據(jù)庫操作");

} catch (Exception e) {

/**System.out.println("除0出錯!");

以下是異常信息的獲取

// System.out.println(e.getMessage());//返回異常對象的詳細信息

e.printStackTrace();//獲取異常的具體類型

*/

throw new ArithmeticException("除0出錯");//7.throw拋異常

}finally{

System.out.println("關(guān)閉數(shù)據(jù)庫連接....");//總要執(zhí)行的語句

}

}

}

package 內(nèi)部類異常包裝器;

/**

*

* 這里定義了一個異常,數(shù)組下標越界,但通過改變了i的值,使程序又運行,通過finally中的(i+1)次

*

*/

public class 異常2 {

public static void main(String[] args)throws Exception {//throws拋出異常

int i = 0;

String[] str = {"Hello Word", "No I mean it!", "HELLO WORD"};

while(i < 4){//小于4代表數(shù)組下標越界

try{

System.out.println(str[i]);

}catch (ArrayStoreException e) {

// TODO: handle exception

i = -1;

}finally{

System.out.println("必運行的代碼"+(i+1)+"次");

}

i++;

}

}

}

總結(jié)

以上是生活随笔為你收集整理的java exception用法_Java基础回顾_Exception异常使用详解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。