大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

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

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

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

 

今天動(dòng)力節(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)自動(dòng)拋異常,下面看一下它們之間的異同。



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


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


public static void main(String[] args) { 

    int a = 5, b =0; 

    System.out.println(5/b); 

    //function(); 


系統(tǒng)會(huì)自動(dò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)會(huì)自動(dò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 (異常對(duì)象);


  如:throw e;


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


public static void main(String[] args) { 

    String s = "abc"; 

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

      throw new NumberFormatException(); 

    } else { 

      System.out.println(s); 

    } 

    //function(); 


  會(huì)拋出異常:


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è)方法可能會(huì)拋出某種異常時(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)異常的一種可能性,并不一定會(huì)發(fā)生這些異常;throw則是拋出了異常,執(zhí)行throw則一定拋出了某種異常對(duì)象。


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


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


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


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


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

  • 全國(guó)校區(qū) 2025-06-26 搶座中
免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 日日操日日爽 | 欧美精品中文字幕手机免费视频 | 国产精品短篇二区 | 青青在线精品视频 | 久在草影院| 中国性孕妇xxxxxxxx孕交 | 国产99视频在线 | 精品欧美一区手机在线观看 | 天天干天天综合 | 男人的天堂免费在线观看 | 国内精品免费网站牛牛 | 中文字幕 亚洲精品 第1页 | 91亚洲精品国产第一区 | 四虎免费播放观看在线视频 | 久草视频官网 | 国产香蕉在线视频 | 中文字幕观看 | 欧美成人啪啪看片 | 5060午夜一级毛片免费观看 | 欧美日韩一区二区亚洲 | 欧美日韩亚洲区久久综合 | 伊人99| 久久国产精品女 | 久久欧美精品欧美久久欧美 | 亚洲女人毛片 | 久久精品久久精品国产大片 | 欧美日韩国产高清 | 亚洲精品入口一区二区在线观看 | 亚洲另类中文字幕 | 偶偶福利视频 | 日日夜夜摸 | 久久人人网 | 手机看片日韩日韩国产在线看 | 亚洲一区在线免费 | 亚洲国产成人资源在线软件 | 一区二区三区免费视频观看 | 亚洲午夜国产精品无卡 | 在线观看视频中文字幕 | 一级欧美毛片成人 | 国产精品四虎视频一区 | 国产成人精品久久 |