Java語言中的異常處理機制
導語:為了加強程序的健壯性、流暢性、穩定性,就需要考慮有可能發生的異常,並進行相應的處理。下面就由小編為大家介紹一下Java語言中的異常處理機制,歡迎大家閲讀!
1 概述
在應用程序運行的過程中,經常會出現這樣一些現象:用户不按照要求輸入、需要進行處理的文件丟失、分母為零、數組下標超出預定範圍、網絡中斷等,我們把這種現象稱為異常。由於異常情況總是難免的,所以一個好的應用程序不僅要滿足用户的基本需求,還要具備處理有可能出現的異常情況的能力,即程序必須具備較強的容錯能力,把這種對異常進行處理的機制稱為異常處理。對異常處理有兩種常見方法:計算機系統遇到錯誤,給出出錯信息並結束正在運行的程序;由程序員在程序中加入異常處理的功能。早期的程序設計語言沒有提供專門進行異常處理的功能,程序員在編寫程序的過程中,進行處理異常的代碼往往和正常的代碼混雜在一起,導致程序的可維護性和可讀性下降。Java語言採取了異常處理機制,其方式為“拋出-捕獲”,一個異常一旦產生,Java語言採取相應的機制來處理它,避免出現死循環、死機以及其他更大的危害,儘可能預防錯誤代碼帶來的不可預期的後果,整個程序的安全性得到了極大的提高。
2 Java語言中的異常概述
Java語言提供了功能強大的異常處理機制,將所有處理異常的代碼集中放置,以保證正常功能代碼和處理異常的代碼分開。在Java程序設計語言中,採用了大量的異常類來進行處理,這些異常類可分為兩大類:ption和r。Exception類解決由程序本身及環境所產生的異常。而Error類則處理較少發生的內部系統錯誤。Exception類異常可以捕獲並進行相應處理,而Error類異常,則是由用户按照系統提示關閉程序。常見的異常類如下表所示:
在以上常見的Java異常類中,每個異常類反映一類異常錯誤,其中包含了異常錯誤信息和處理方法。當程序運行過程中,出現一種異常現象,產生一個相應的異常類對象,再由相應的異常類進行處理,從而避免對系統產生更大的危害,以保證程序的正常運行。
3 常見的異常處理方法
常見的異常處理方法有兩種:一種處理異常是在產生異常的方法中,使用try…catch…finally結構;還有一種是進行異常的移交,使用關鍵字throws和throw交給上層方法去處理異常。
在該案例中,對三種異常進行了捕獲,分別是數組下標越界、輸入數據格式不正確和Exception異常,當觸發某種異常,則對相應的.異常異常進行處理。Exception異常類是所有異常的基類,當出現catch塊沒有進行捕獲的異常,則採用Exception異常類進行異常處理。
異常的移交:
實例分析:初始化參數x使用了-2,將觸發NegativeArraySizeException異常,但在Sum方法中不對該異常進行處理,而是在main方法中對該異常進行處理,所以在聲明方法時,使用throws NegativeArraySizeException選項,拋出了該異常。使用main 方法對該方法進行捕獲。可見,如果一個方法沒有對可能出現的異常進行捕獲,調用該方法的其他方法應該對其可能出現的異常進行捕獲。
4 結束語
在進行程序設計過程中,異常是不可避免的。這些異常,即使程序本身沒有問題,也有可能產生,所以在開發時必須考慮處理。Java語言規定,在調用可能拋出捕獲異常的方法時,必須編寫處理異常的代碼,這不僅提高了程序的健壯性,而且避免程序開發人員忘記編寫必要的容錯代碼。本文指出了異常處理的兩種機制,除此之外還可以使用自定義異常進行處理,基於篇幅的原因就不在此討論了。
-
Java 正則表達式
Java是一門編程語言,那麼大家知道Java正則表達式是怎樣的呢?下面一起來看看!Java正則表達式正則表達式定義了字符串的模式。正則表達式可以用來搜索、編輯或處理文本。正則表達式並不僅限於某一種語言,但是在每種語言中有細微的差別。正則表達式實例一個字符串其...
-
java語言的接口與繼承
Java是一個面向對象的語言。對程序員來説,這意味着要注意應中的數據和操縱數據的方法,而不是嚴格地用過程來思考。下面是小編分享的java語言的接口與繼承,一起來看一下吧。大多數人認為,接口的意義在於頂替多重繼承。眾所周知Java沒有c++那樣多重繼承的機制,但是卻...
-
如何實現javascript去除字符串裏中文與空格
導語:如何實現javascript去除字符串裏中文與空格呢?下面是小編給大家提供的示例代碼實現,大家可以參考閲讀,更多詳情請關注應屆畢業生考試網。1.去掉空格:functionmoveSpace(){varstr="abcdefg";alert(ace(/[]/g,""));}moveSpace();2.去掉中文:vartitle="字符串zifuc...
-
如何在Javascript中為String對象添加trim,ltrim,rtrim方法
如何在Javascript中為String對象添加trim,ltrim,rtrim方法呢?下面是小編給大家提供的實現代碼,大家可以參考閲讀,更多詳情請關注應屆畢業生考試網。利用Javascript中每個對象(Object)的prototype屬性我們可以為Javascript中的內置對象添加我們自己的方法和屬性。j...