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)
所有錯誤的基類,用來識別嚴重的程式執行問題。通常原因是存取外部資源時出現一系列問題,解決方案也需要圍繞存取外部資源這一重點。
以上是JAVA專案常用異常處理有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!