1. 程式人生 > 程式設計 >JAVA專案常用異常處理彙總

JAVA專案常用異常處理彙總

我們在進行JAVA專案開發時,經常會面對一些常見的異常處理情況,接下來我會根據課下查閱學習的資料,來進行一些總結。

  1.空指標異常(java.lang.nullpointerexception)

發生該情況一般是字串變數未初始化,陣列未初始化,類物件未初始化等。還有一種情況是當該物件為空時你並沒有判斷是否為空值,這個錯誤我在之前的web習題上犯過,因此為了避免這種情況,除了檢查是否初始化之外,如有必要則要加上判斷是否為null的if語句。

  2.指定的類不存在(java.lang.ClassNotFoundException)

出現這個錯誤的原因之一是缺包,這時只要下載並匯入相應的包即可;當我們已經把包匯入的時候,又報了這種錯誤的情況下,就需要開啟自己的編輯器去調整設定了;在使用tomcat的時候,先檢查lib中是否匯入了jar。

  3.字串轉換為數字異常(java.lang.NumberFormatException)

這個錯誤就是字串中出現非數字型字元時,轉換為數字時發生異常;除此之外,如果字串轉換為數字時超過了型別的範圍(比如string轉int和string轉double),也會出現這個錯誤。解決該問題的方法就是在轉換之前先對字串進行檢查。

  4.陣列下標越界異常(java.lang.IndexOutOfBoundsException)

顧名思義,你想取的陣列元素在陣列中並沒有定義出來,比如定義了一個長度為5的陣列a,當你想取a[6]元素時肯定會出錯。解決這類問題就是要注意陣列的長度,有時候為了減少空間浪費我們會使用動態陣列構建方法,這時在對陣列進行操作時建議先用length獲取其陣列長度,從而規避錯誤。

  5.數學運算異常(java.lang.ArithmeticException)

除數為0時會報出該錯誤,解決方法:避免除數為0。這個錯誤解讀為“出現異常的運算條件”,除了除數為0的情況之外,可能還有其他的異常情況,屆時具體情況具體分析。

  6.沒有訪問許可權(java.lang.IllegalAccessException)

許可權問題,在程式訪問某方法時注意一下訪問許可權即可(public/private),這種錯誤在使用package時容易發生。

  7.方法的引數錯誤(java.lang.IllegalArgumentException)

在呼叫帶有引數的方法時,請注意傳遞的引數是否正確。

  8.資料型別轉換異常(java.lang.ClassCastException)

在進行強制型別轉換時容易發生該錯誤,在進行轉換前先對型別進行判別,規避錯誤。

  9.檔案未找到異常(java.lang.FileNotFoundException)

當程式試圖開啟一個不存在的檔案進行讀寫操作時會報出該錯誤,通常由FileInputStream,FileOutputStream,RandomAccessFile的構造器聲明發出,即使檔案存在,但因某個原因無法訪問,也會報出該錯誤。

  10.陣列儲存異常(java.lang.ArrayStoreException)

假如在int型數組裡存入string型別的變數,就會報錯,解決方案是在存入物件時查明型別,或者在存入前先進行型別轉換。

  11.方法不存在異常(java.lang.NoSuchMethodException)

程式所要呼叫的方法不存在。解決方法:不呼叫或者構造其方法。

  12.檔案已結束異常(java.lang.EOFException)

程式輸入過程中遇到檔案或流的結尾引發該異常,此異常用於檢查是否達到檔案或流結尾。

  13.例項化異常(java.lang.InstantiationException)

類建立新物件時無法通過構造器進行例項化引發的異常。解決方案:構造方法。

  14.被中止異常(java.lang.InterruptedException)

通過其他執行緒的Thread的interrupt方法中止另一個執行緒時報出的錯誤。解決方法:一,不做處理,直接丟擲;二,捕獲異常,再次呼叫interrupt方法,將中斷狀態重新設定為true。

  15.不支援克隆異常(java.lang.CloneNotSupportedException)

如果沒有實現Cloneable介面便呼叫了clone方法,報出該錯誤;若類不支援Cloneable介面,呼叫時也會出現該錯誤。解決方法:實現Cloneable介面。

  16.輸入輸出異常(IOException)

該異常為Exception的一個分支,通常發生在檔案的資料讀寫上。

  17.錯誤(java.lang.Error)

所有錯誤的基類,用於標識嚴重的程式執行問題。通常原因是訪問外部資源時出現一系列問題,解決方案也需要圍繞訪問外部資源這一重點展開。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。