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

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

Java異常處理中throw和throws的區別詳解

更新時間:2019-09-11 11:01:06 來源:動力節點 瀏覽2634次

 

今天動力節點Java培訓機構小編為大家分享“Java異常處理中throw和throws的區別詳解”,希望通過此文大家能夠掌握throw和throws的區別,下面就隨小編一起看看Java異常處理中throw和throws的區別詳解。


拋出異常


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



  系統自動拋異常


  當程序語句出現一些邏輯錯誤、主義錯誤或類型轉換錯誤時,系統會自動拋出異常。如:


public static void main(String[] args) { 

    int a = 5, b =0; 

    System.out.println(5/b); 

    //function(); 


系統會自動拋出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(); 


系統會自動拋出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是語句拋出一個異常。


  語法:throw (異常對象);


  如:throw e;


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


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是方法可能拋出異常的聲明。(用在聲明方法時,表示該方法可能要拋出異常)


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


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


  當某個方法可能會拋出某種異常時用于throws 聲明可能拋出的異常,然后交給上層調用它的方法程序處理。如:


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("非數據類型不能轉換。"); 

      //e.printStackTrace(); 

    } 


  處理結果如下:非數據類型不能轉換。



  throw與throws的比較


  1、throws出現在方法函數頭;而throw出現在函數體。


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


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


以上就是動力節點Java培訓機構小編介紹的“Java異常處理中throw和throws的區別詳解”的內容,希望對大家有幫助,更多Java最新資訊請繼續關注動力節點Java培訓機構官網,每天會有精彩內容分享與你。


相關免費視頻教程推薦


零基礎java教程下載——throws拋出處理:http://m.dabaquan.cn/xiazai/2553.html


提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 99久久99这里只有免费的精品 | 天天干天天射天天操 | 中文字幕亚洲欧美一区 | jizzjizz中国护士第一次 | 日韩精品一区二区三区乱码 | 老司机精品在线播放 | 久久激情综合色丁香 | 亚洲国产九九精品一区二区 | 四虎精品免费久久 | 国产精品综合视频 | 色色在线| 黄片毛片 | 国产精品久久久久久久久免费观看 | 天天槽天天槽天天槽 | 欧美一区二区在线观看视频 | 欧美午夜毛片a级在线 | 国内精品伊人久久久影院 | 日日日日日操 | c看欧美激情毛片 | 日韩欧美高清一区 | 日韩伦理亚洲欧美在线一区 | 免看一级a毛片一片成人不卡 | 国产成人v片视频在线观看 国产成人爱片免费观看视频 | 一道本不卡免费视频 | 91精品国产综合久久福利 | 国产亚洲精品久久麻豆 | 国产成人亚洲精品大帝 | 天天爱天天干天天操 | 精品一区二区三区四区乱码90 | 国产精品揄拍100视频 | 成人国产精品毛片 | 午夜性a一级毛片 | 色资源在线 | 亚洲在线网站 | 日韩中文字幕推理片 | 久草视频播放 | 久久月 | 亚洲人妖女同在线播放 | 日韩中文字幕精品免费一区 | 亚洲第二页 | 久久精品加勒比中文字幕 |