六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

Java 異常處理7

[摘要]有爭議性的未被檢查的異常   因為Java編程語言不要求方法一定要捕獲或列出運行異常或錯誤,所以程序員就可能被誤導,編寫只拋出運行時異常或者使所有的異常子類都繼承于RuntimException的代碼,這兩種快捷方式允許程序員編寫不用為編譯錯誤而操心的代碼,并且也不費神去指定或捕獲任何異常。盡管這...
有爭議性的未被檢查的異常

  因為Java編程語言不要求方法一定要捕獲或列出運行異常或錯誤,所以程序員就可能被誤導,編寫只拋出運行時異常或者使所有的異常子類都繼承于RuntimException的代碼,這兩種快捷方式允許程序員編寫不用為編譯錯誤而操心的代碼,并且也不費神去指定或捕獲任何異常。盡管這種方法看上去對程序員很方便,但它回避了捕獲或指定必要的東西的意圖,并且可能使使用你的類的程序員發生錯誤。

   為什么設計者決定強制一個方法指定所有的在它的范圍內可能被拋出的未檢查異常呢?被一個方法拋出的任何異常都是方法公共編程接口的一部分。方法的調用者必須知道有關這個方法所拋出的異常,以便他們能夠針對這些異常決定做什么。這些異常是編寫方法的接口差不多,有它們的參數和返回值。

   接下來你的問題可能是:如果它是這么好的說明了一個方法的API,包括它能拋出的異常,那么為什么不也指定運行時異常呢?運行時異常描述的問題是一個設計問題的結果,并且,API的客戶代碼不能期望從出錯的地方來恢復程序執行或用一些方法來處理它們。這些問題包括算法異常(例如被零除),指針異常(例如通過一個空的引用來訪問一個對象),以及索引異常(例如試圖通過一個越界的索引來訪問一個數組)。運行時異常可能在程序的任何地方發生,并且在一個典型的程序中可能有很多,因此,在每個方法中不得不添加運行異常來降低程序的透明度,這樣,編譯器不要求你指定或捕獲運行時異常(盡管你可以)。

   拋出運行時異常(RuntimeException)的一個公共案例就是在用戶調用了一個錯誤的方法的時候。例如,一個方法檢查它的參數是否有效,如果一個參數是空(null),那么這個方法就可能拋出一個NullPointerException異常,這是一個不檢查異常。

   一般來說,不拋出運行時異常(RuntimeException)或不創建一個運行時異常(RuntimeException)的子類的原因是:人你不想為指定你的方法所能拋出的異常而操心。

   一個使用異常的方針是:如果客戶能夠被期望從一個異常中得到恢復,那么就要使用檢查性異常。如果一個客戶對于從異常中恢復的程序不能做任何事,那么就可以使用不檢查性異常。




相關文章

主站蜘蛛池模板: 青青草原国产在线视频 | 欧美写真视频一区 | 香蕉久久一区二区三区 | 天天插天天搞 | 日韩视频第二页 | 欧美一级欧美三级在线观看 | 欧美视频一区二区 | 日韩免费在线观看视频 | 日韩精品三级 | 伊人免费在线观看高清版 | 伊人久热这里只有精品视频99 | 日韩在线视频线视频免费网站 | 午夜视频免费看 | 天堂午夜 | 色女人天堂 | 亚洲久草 | 午夜在线免费视频 | 香蕉成人福利片视频在线下载 | 天天久久综合网站 | 亚洲福利一区二区 | 亚洲人成绝费网站色ww | 中文有码中文字幕免费视频 | 日韩不卡| 中日韩欧美风情视频 | 欧美视频日韩视频 | 欧美综合图片一区二区三区 | 欧美特级| 中文一区在线 | 一级做a爰全过程免费视频 一级做a爰片性色毛片小说 | 欧美亚洲中日韩中文字幕在线 | 天天看片天天操 | 日本99视频 | 亚洲国产成人久久一区www | 亚洲欧美日韩综合久久久久 | 亚洲成人aaa | 日韩精品欧美激情国产一区 | 日本一区二区视频在线观看 | 色久视频 | 视频一区二区中文字幕 | 青草青青在线视频 | 日韩亚洲欧美在线 |