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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

java怎么抛出异常

發(fā)布時間:2023/12/15 综合教程 36 生活家
生活随笔 收集整理的這篇文章主要介紹了 java怎么抛出异常 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Java中想要拋出異常那需要用到Java的兩個關(guān)鍵字,都是用于異常處理機(jī)制。

一個方法不處理這個異常,而是調(diào)用層次向上傳遞,誰調(diào)用這個方法,這個異常就由誰來處理。這就是拋出異常。

throw : 將產(chǎn)生的異常拋出(強(qiáng)調(diào)的是動作),拋出的既可以是異常的引用,也可以是異常對象。(位置: 方法體內(nèi))

throws : 如果一個方法可能會出現(xiàn)異常,但沒有能力處理這種異常,可以在方法聲明處用throws子句來聲明拋出異常。用它修飾的方法向調(diào)用者表明該方法可能會拋出異常(可以是一種類型,也可以是多種類型,用逗號隔開)(位置: 寫在方法名 或方法名列表之后 ,在方法體之前。)

注意 : 調(diào)用可能會拋出異常的方法,必須添加try-catch代碼塊嘗試去捕獲異常 或者 添加throws 聲明 來將異常 拋出給更上一層的調(diào)用者進(jìn)行處理,這里需要注意一個細(xì)節(jié):新的異常包含原始異常的所有信息,根據(jù)這個我們可以去追溯最初異常發(fā)生的位置,

簡單使用:

// 定義一個方法,拋出 數(shù)組越界和算術(shù)異常(多個異常 用 "," 隔開)
public void Test1(int x) throws ArrayIndexOutOfBoundsException,ArithmeticException{
	System.out.println(x);
	if(x == 0){
		System.out.println("沒有異常");
		return;
	}
	//數(shù)據(jù)越界異常
	else if (x == 1){
		int[] a = new int[3];
		a[3] = 5;
	}
	//算術(shù)異常
	else if (x == 2){
		int i = 0;
		int j = 5/0;
	}
}

登錄后復(fù)制

在main方法中調(diào)用:

public static void main(String[] args) {
        //創(chuàng)建對象
        ExceptionInital object = new ExceptionInital();
        // 調(diào)用會拋出異常的方法,用try-catch塊
        try{
            object.Test1(0);
        }catch(Exception e){
            System.out.println(e);
        }
        // 數(shù)組越界異常
        try{
            object.Test1(1);
        }catch (ArrayIndexOutOfBoundsException e) {
            System.out.println("數(shù)組越界異常:"+e);
        }

        // 算術(shù)異常
        try{
            object.Test1(2);
        }catch(ArithmeticException e){
            System.out.println("算術(shù)異常:"+e);
        }

        //使用 throw 拋出異常(可以拋出異常對象,也可以拋出異常對象的引用)
        try{
            ArrayIndexOutOfBoundsException  exception = new ArrayIndexOutOfBoundsException();
            throw exception;//new ArrayIndexOutOfBoundsException();
        }catch(ArrayIndexOutOfBoundsException e){
            System.out.println("thorw拋出異常:"+e);
        }
    }

登錄后復(fù)制

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

總結(jié)下 throw 和throws 關(guān)鍵字的區(qū)別

1、寫法上 : throw 在方法體內(nèi)使用,throws 函數(shù)名后或者參數(shù)列表后方法體前

2、意義 : throw 強(qiáng)調(diào)動作,而throws 表示一種傾向、可能但不一定實際發(fā)生

3、throws 后面跟的是異常類,可以一個,可以多個,多個用逗號隔開。throw 后跟的是異常對象,或者異常對象的引用。

4、throws 用戶拋出異常,當(dāng)在當(dāng)前方法中拋出異常后,當(dāng)前方法執(zhí)行結(jié)束(throws 后,如果有finally語句的話,會執(zhí)行到finally語句后再結(jié)束。)。可以理解成return一樣。

以上就是java怎么拋出異常的詳細(xì)內(nèi)容,更多請關(guān)注風(fēng)君子博客其它相關(guān)文章!

總結(jié)

以上是生活随笔為你收集整理的java怎么抛出异常的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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