成人亚洲色欲色一欲WWW_男人看的网站_国内精品自线在拍2020不卡_人人爱干_等你说爱我之面瘫王vs火爆瑶_国产做爰视频免费播放_丁香花在线_最近更新2019中文字幕在线_啦啦啦手机视频在线观看7_httpwww色午夜com日本_亚洲日韩乱码中文无码蜜桃臀网站_国产黄色在线播放_在线理论片_国产精品日韩欧美一区二区三区_精品偷拍在线一区二区_青娱乐视觉盛宴国产视频2_最美情侣高清韩剧免费观看_久草免费新资源站_999色综合_97在线观看在线观看

網站建設核心之處理異常

6339

        假設在一個Java程序運行期間出現了一個錯誤。這個錯誤可能是由于文件包含了錯誤的信息,或者網絡連接出現問題造成的,也有可能是因為使用無效的數組下標,或者試圖使用一個沒有被賦值引用而造成的。用戶期望在出現錯誤時,程序能夠采用一些理智的行為,如果由于出現錯誤而使得某些操作沒有完成,程序應該:返回到一種安全狀態,并能夠讓用戶執行一些其他的命令;或者允許用戶保存所有操作的結果,并以適當的方式終止程序。

  要做到這些并不是一件很容易的事情。其原因是檢測(或引發)錯誤條件的代碼通常離那些能夠讓數據恢復到安全狀態,或者能夠保存用戶的操作結果,并正常地退出程序的代碼很遠。異常處理的任務就是將控制權從錯誤產生的地方轉移給能夠處理這種情況的錯誤處理器。為了能夠在程序中處理異常情況,必須研究程序中可能會出現的錯誤和問題,以及哪類問題需要關注。
  1.用戶輸入錯誤
  除了那些不可避免的打字錄入外,有些用戶喜歡各行其是,不遵守程序的要求。例如,假設有一個用戶請求連接一個URL,而語法卻不正確。在程序代碼中應該對此進行檢查,如果沒有檢查,網絡數據包就會給出警告。
  2.設備錯誤
  硬件并不總是讓它做什么,它就做什么。打印機可能被關掉了。網頁可能臨時性地不能瀏覽。在一個任務的處理過程中,硬件經常出現問題。例如,打印機在打印過程中可能沒有紙了。
  3.物理限制
  磁盤滿了,可用存儲空間已被用完。
  4.代碼錯誤
  程序方法有可能無法正確的執行。例如,方法可能返回了一個錯誤的答案,或者錯誤地調用了其他方法。使用了一個無效的數組下標,試圖查找一個在散列表中不存在的數據項以及試圖對一個空棧進行退棧操作。
  對于方法中出現的錯誤,傳統的處理方式是返回一個特定的錯誤編碼,調用這個方法的方法對其進行分析。例如,對于一個從文件中讀取信息的方法來說,如果返回值不是標準字符,而是一個-1,則表示文件結束。這種處理方式對于很多異常狀況都是可行的。還有一種表示錯誤狀況的常用返回值是null引用。當希望查詢的參數不存在時,這個方法就會返回null。
  遺憾的是,并不是在任何情況下都能夠返回一個錯誤編碼。有可能無法明確地將有效數據與無效數據加以區分。一個返回整型的方法就不能簡單地通過返回-1表示錯誤,因為-1很可能是一個完全合法的結果。
  在Java中,如果某個方法不能夠采用正常的途徑完整它的任務,就可以通過另外一個路徑退出方法。在這種情況下,方法并不返回任何值,而是拋出(throw)一個封裝了錯誤信息的對象。需要注意的是,這個方法將會立刻退出,并不返回任何值。此外,調用這個方法的代碼也將無法繼續執行,而是,異常處理機制開始搜索能夠處理這種異常狀況的異常處理器(exceptionhandler),異常具有自己的語法和特定的繼承結構。
主站蜘蛛池模板: 华容县| 苏尼特右旗| 和田市| 呼图壁县| 庄浪县| 汉源县| 巩义市| 黄浦区| 肃北| 天等县| 象山县| 华阴市| 大冶市| 平泉县| 长沙县| 河东区| 郧西县| 贵德县| 南城县| 加查县| 灌云县| 自治县| 客服| 南陵县| 隆昌县| 新晃| 上高县| 万山特区| 新河县| 漳浦县| 宜章县| 南华县| 玛沁县| 博野县| 汪清县| 遂平县| 武冈市| 三台县| 凤冈县| 和政县| 杂多县|