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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

throws与throw有什么关系?区别是什么?

發(fā)布時(shí)間:2025/3/17 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 throws与throw有什么关系?区别是什么? 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

本質(zhì)上并沒有什么關(guān)系,只是throw拋出一個(gè)異常對(duì)象,throws就得處理而已。

  • throw表示拋出一個(gè)異常類的對(duì)象,生成異常類對(duì)象的過程;聲明在方法體內(nèi)。
  • throws:屬于異常處理的一種方式,聲明在方法的聲明處。
  • 簡(jiǎn)單理解其實(shí)就是使用throw拋出一個(gè)異常類的對(duì)象等待處理,然后throws就是處理方式,只不過它的方式是把這個(gè)異常丟出去給別人處理。

    eg:

    //創(chuàng)建一個(gè)ecm(),來計(jì)算i / j;可能會(huì)有輸入數(shù)據(jù)不符合除法運(yùn)算的可能性,所以就需要throw一個(gè)異常對(duì)象,然后ecm()就需要采用throws方式處理這個(gè)異常 //此處的EcDef是自定義的異常類,throw了一個(gè)EcDef異常對(duì)象public static int ecm(int i,int j) throws EcDef{//非運(yùn)行時(shí)異常if(i < 0 || j < 0){throw new EcDef("分子/分母為負(fù)數(shù)了");}return i / j;} //main()中對(duì)拋出的異常做處理public static void main(String[] args) {try {int i = Integer.parseInt(args[0]);//String類型轉(zhuǎn)換為intint j = Integer.parseInt(args[1]);int result = ecm(i, j);System.out.println(result);}catch(NumberFormatException e){System.out.println("數(shù)據(jù)類型不一致");}catch(ArrayIndexOutOfBoundsException e){System.out.println("缺少命令行參數(shù)");}catch(ArithmeticException e){System.out.println("除0");}catch(EcDef e){System.out.println(e.getMessage());} //自定義異常類EcDef繼承Exception /*如何自定義異常類?* 1.繼承現(xiàn)有的異常結(jié)構(gòu):RuntimeException、Exception* 2.提供全局常量:SerialVersionUID* 3.提供重載的構(gòu)造器*/ public class EcDef extends Exception{//繼承Exception類static final long serialVersionUID = -7984116164661L;//設(shè)置一個(gè)全局變量SerialVersionUIDpublic EcDef(){}public EcDef(String msg){//提供重載的構(gòu)造器super(msg);} } 新人創(chuàng)作打卡挑戰(zhàn)賽發(fā)博客就能抽獎(jiǎng)!定制產(chǎn)品紅包拿不停!

    總結(jié)

    以上是生活随笔為你收集整理的throws与throw有什么关系?区别是什么?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

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