程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> Java的違例控制:解決錯誤

Java的違例控制:解決錯誤

編輯:關於JAVA

從最古老的程序設計語言開始,錯誤控制一直都是設計者們需要解決的一個大問題。由於很難設計出一套完美的錯誤控制方案,許多語言干脆將問題簡單地忽略掉,將其轉嫁給庫設計人員。對大多數錯誤控制方案來說,最主要的一個問題是它們嚴重依賴程序員的警覺性,而不是依賴語言本身的強制標准。如果程序員不夠警惕——若比較匆忙,這幾乎是肯定會發生的——程序所依賴的錯誤控制方案便會失效。
“違例控制”將錯誤控制方案內置到程序設計語言中,有時甚至內建到操作系統內。這裡的“違例”(Exception)屬於一個特殊的對象,它會從產生錯誤的地方“扔”或“擲”出來。隨後,這個違例會被設計用於控制特定類型錯誤的“違例控制器”捕獲。在情況變得不對勁的時候,可能有幾個違例控制器並行捕獲對應的違例對象。由於采用的是獨立的執行路徑,所以不會干擾我們的常規執行代碼。這樣便使代碼的編寫變得更加簡單,因為不必經常性強制檢查代碼。除此以外,“擲”出的一個違例不同於從函數返回的錯誤值,也不同於由函數設置的一個標志。那些錯誤值或標志的作用是指示一個錯誤狀態,是可以忽略的。但違例不能被忽略,所以肯定能在某個地方得到處置。最後,利用違例能夠可靠地從一個糟糕的環境中恢復。此時一般不需要退出,我們可以采取某些處理,恢復程序的正常執行。顯然,這樣編制出來的程序顯得更加可靠。
Java的違例控制機制與大多數程序設計語言都有所不同。因為在Java中,違例控制模塊是從一開始就封裝好的,所以必須使用它!如果沒有自己寫一些代碼來正確地控制違例,就會得到一條編譯期出錯提示。這樣可保證程序的連貫性,使錯誤控制變得更加容易。
注意違例控制並不屬於一種面向對象的特性,盡管在面向對象的程序設計語言中,違例通常是用一個對象表示的。早在面向對象語言問世以前,違例控制就已經存在了。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved