黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學(xué)習(xí)攻略 Java異常處理中throw和throws的區(qū)別詳解

Java異常處理中throw和throws的區(qū)別詳解

更新時(shí)間:2019-09-11 11:01:06 來源:動力節(jié)點(diǎn) 瀏覽2717次

 

今天動力節(jié)點(diǎn)Java培訓(xùn)機(jī)構(gòu)小編為大家分享“Java異常處理中throw和throws的區(qū)別詳解”,希望通過此文大家能夠掌握throw和throws的區(qū)別,下面就隨小編一起看看Java異常處理中throw和throws的區(qū)別詳解。


拋出異常


  拋出異常有三種形式,一是throw,一個(gè)throws,還有一種系統(tǒng)自動拋異常,下面看一下它們之間的異同。



  系統(tǒng)自動拋異常


  當(dāng)程序語句出現(xiàn)一些邏輯錯(cuò)誤、主義錯(cuò)誤或類型轉(zhuǎn)換錯(cuò)誤時(shí),系統(tǒng)會自動拋出異常。如:


public static void main(String[] args) { 

    int a = 5, b =0; 

    System.out.println(5/b); 

    //function(); 


系統(tǒng)會自動拋出ArithmeticException異常:


Exception in thread "main" java.lang.ArithmeticException: / by zero

at test.ExceptionTest.main(ExceptionTest.java:62)


 再如


public static void main(String[] args) { 

    String s = "abc"; 

    System.out.println(Double.parseDouble(s)); 

    //function(); 


系統(tǒng)會自動拋出NumberFormatException異常:


Exception in thread "main" java.lang.NumberFormatException: For input string: "abc"

at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1224)

at java.lang.Double.parseDouble(Double.java:510)

at test.ExceptionTest.main(ExceptionTest.java:62)



throw


  throw是語句拋出一個(gè)異常。


  語法:throw (異常對象);


  如:throw e;


  一般會用于程序出現(xiàn)某種邏輯時(shí)程序員主動拋出某種特定類型的異常。如:


public static void main(String[] args) { 

    String s = "abc"; 

    if(s.equals("abc")) { 

      throw new NumberFormatException(); 

    } else { 

      System.out.println(s); 

    } 

    //function(); 


  會拋出異常:


Exception in thread "main" java.lang.NumberFormatException

at test.ExceptionTest.main(ExceptionTest.java:67)



throws


  throws是方法可能拋出異常的聲明。(用在聲明方法時(shí),表示該方法可能要拋出異常)


  語法:[(修飾符)](返回值類型)(方法名)([參數(shù)列表])[throws(異常類)]{......}


 如:public void function() throws Exception{......}     


  當(dāng)某個(gè)方法可能會拋出某種異常時(shí)用于throws 聲明可能拋出的異常,然后交給上層調(diào)用它的方法程序處理。如:


public static void function() throws NumberFormatException{ 

    String s = "abc"; 

    System.out.println(Double.parseDouble(s)); 

  } 

    

  public static void main(String[] args) { 

    try { 

      function(); 

    } catch (NumberFormatException e) { 

      System.err.println("非數(shù)據(jù)類型不能轉(zhuǎn)換。"); 

      //e.printStackTrace(); 

    } 


  處理結(jié)果如下:非數(shù)據(jù)類型不能轉(zhuǎn)換。



  throw與throws的比較


  1、throws出現(xiàn)在方法函數(shù)頭;而throw出現(xiàn)在函數(shù)體。


  2、throws表示出現(xiàn)異常的一種可能性,并不一定會發(fā)生這些異常;throw則是拋出了異常,執(zhí)行throw則一定拋出了某種異常對象。


  3、兩者都是消極處理異常的方式(這里的消極并不是說這種方式不好),只是拋出或者可能拋出異常,但是不會由函數(shù)去處理異常,真正的處理異常由函數(shù)的上層調(diào)用處理。


以上就是動力節(jié)點(diǎn)Java培訓(xùn)機(jī)構(gòu)小編介紹的“Java異常處理中throw和throws的區(qū)別詳解”的內(nèi)容,希望對大家有幫助,更多Java最新資訊請繼續(xù)關(guān)注動力節(jié)點(diǎn)Java培訓(xùn)機(jī)構(gòu)官網(wǎng),每天會有精彩內(nèi)容分享與你。


相關(guān)免費(fèi)視頻教程推薦


零基礎(chǔ)java教程下載——throws拋出處理:http://m.ilovecolors.com.cn/xiazai/2553.html


提交申請后,顧問老師會電話與您溝通安排學(xué)習(xí)

免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: www.天堂网.com| 夜夜穞狠狠穞 | 久久综合视频网 | 中国一级特黄特级毛片 | 免费日韩在线视频 | 99精选视频| 天堂最新资源在线 | 精品在线观看一区 | 波多野结衣一区二区在线 | 男人下面进女人下面视频免费 | 亚洲欧美日韩精品久久亚洲区色播 | 黄v网站| 免费一级欧美在线观看视频片 | 92精品国产自产在线 | 就操视频| 中文字幕一区二区三 | 久久综合九色综合97婷婷女人 | 亚洲日韩在线视频 | 免费视频不卡一区二区三区 | 日韩欧美亚洲另类 | 影音先锋色小姐 | 国产高清不卡一区二区三区 | 国产精品九九九久久九九 | 欧美高清在线视频一区二区 | 欧美一区二区三区在线视频 | 最近免费中文字幕大全高清片 | 精品综合久久久久久99 | 亚洲欧洲日韩在线 | 久久天天躁狠狠躁夜夜中文字幕 | 亚洲视频1| 国产三级a三级三级天天 | 黄色网在线免费观看 | 国产精品国产三级国产在线观看 | 18成网站www在线观看 | 成人黄网18免费观看的网站 | 亚洲性在线观看 | 一级毛片日韩 | 人人公开免费超级碰碰碰视频 | 国产第一福利136视频导航 | jizz日本zzz日本老师水 | 精品一区二区三区高清免费观看 |