<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    我的漫漫程序之旅

    專注于JavaWeb開發(fā)
    隨筆 - 39, 文章 - 310, 評論 - 411, 引用 - 0
    數(shù)據(jù)加載中……

    throws和throw的區(qū)別

    這兩者雖然看起來只有一個s的區(qū)別,但是作用完全不一樣。
                                                                                       
    /////java處理異常方式///////////////////////////////

         在java代碼中如果發(fā)生異常的話,jvm會拋出異常對象,導致程序代碼中斷,這個時候jvm在做的操作就是:創(chuàng)建異常對象,然后拋出,比如:

     

    int i= 1; 
    int j = 0
    ; 
    int res = 0
    ; 
    res 
    = i/j;//除0錯誤 

    System.out.println(res); 

     

    這5句代碼運行到第四句會中斷,因為jvm拋出了異常
     
    ////throw的作用/////////////////////////////////////////
    手動拋出異常

    但是有時候有些錯誤在jvm看來不是錯誤,比如說

    int age = 0
    age 
    = -100

    System.out.println(age); 

     

        很正常的整形變量賦值,但是在我們眼中看來就不正常,誰的年齡會是負的呢。 所以我們需要自己手動引發(fā)異常,這就是throw的作用。

    int age = 0
    age 
    = -100

    if(age<0


       Exception e 
    = new Exception("throw exception");//創(chuàng)建異常對象 

       throw e;//拋出異常 
    }
     
    System.out.println(age); 

     

    ////throws的作用///////////////////////////////////
    聲明方法可能回避的異常

       有異常被拋出了,就要做處理,所以java中有try-catch。可是有時候一個方法中產(chǎn)生了異常,但是不知道該怎么處理它,那么就放著不管,當有異常拋出時會中斷該方法,而異常被拋到這個方法的調(diào)用者那里。這個有點像下屬處理不了的問題就交到上司手里一樣,這種情況稱為回避異常。

       但是這使得調(diào)用這個方法就有了危險,因為誰也不知道這個方法什么時候會丟一個什么樣的異常給調(diào)用者,所以在定義方法時,就需要在方法頭部分使用throws來聲明這個方法可能回避的異常。

    void fun()throws IOException,SQLException 

     
    }
     

     

    這表示 fun方法可能會丟兩個異常出來,那么在調(diào)用fun的時候就會做好準備,比如可以這樣

    try
       fun(); 
    }
    catch(IOException e) { }

    catch(SQLException e) { } 

     

     



    posted on 2008-01-19 18:47 々上善若水々 閱讀(2477) 評論(5)  編輯  收藏 所屬分類: J2SE

    評論

    # re: throws和throw的區(qū)別  回復  更多評論   

    恩``` 我覺得寫的挺好的
    嘿嘿 謝謝你哦 高手
    2008-03-12 18:13 | 在青鳥學習的菜鳥

    # re: throws和throw的區(qū)別[未登錄]  回復  更多評論   

    寫得太好了哈,簡潔易懂,不像其他的答案
    2008-05-22 18:06 | 哈哈

    # re: throws和throw的區(qū)別  回復  更多評論   

    但是異常做的事就是一直往外拋。。實際上沒起多大作用。。
    2008-05-23 16:06 | 菜菜

    # re: throws和throw的區(qū)別  回復  更多評論   

    樓上此言差矣!
    對一些源碼的深層理解絕對不能含糊!
    2008-05-23 16:27 | 々上善若水々

    # re: throws和throw的區(qū)別  回復  更多評論   

    寫得太好了哈,簡潔易懂.理解深。
    2009-06-03 17:45 | cht
    主站蜘蛛池模板: 亚洲欧洲免费视频| 在人线av无码免费高潮喷水| 一级做性色a爰片久久毛片免费| 99久在线国内在线播放免费观看| 亚洲宅男永久在线| 亚洲综合视频在线| 亚洲bt加勒比一区二区| 亚洲av永久无码精品表情包| 亚洲AV无码精品色午夜果冻不卡| 免费毛片在线视频| 免费大片黄手机在线观看| 色窝窝亚洲av网| 看亚洲a级一级毛片| 精品国产亚洲第一区二区三区| 久久久久亚洲av无码专区喷水 | 亚洲综合亚洲国产尤物| 亚洲丁香色婷婷综合欲色啪| 亚洲欧洲日韩不卡| 久久亚洲AV无码精品色午夜| 亚洲av永久无码嘿嘿嘿| 亚洲码和欧洲码一码二码三码| 亚洲开心婷婷中文字幕| 亚洲AV综合色区无码一区 | 国产啪精品视频网站免费尤物 | 亚洲偷自拍拍综合网| 亚洲色婷婷一区二区三区| 国产免费牲交视频| 亚洲精品国精品久久99热| 最好免费观看韩国+日本| 免费国产在线观看不卡| 亚洲日韩中文无码久久| 久久亚洲国产视频| 亚洲av一本岛在线播放| 老湿机一区午夜精品免费福利| 亚洲一级片在线播放| 亚洲AV日韩综合一区| 日韩在线观看免费完整版视频| 亚洲人成电影在线天堂| 亚洲伊人久久大香线蕉在观| 亚洲精品国产suv一区88| 亚洲免费视频一区二区三区|