1. 程式人生 > >JAVA專案中的常用的異常處理情況

JAVA專案中的常用的異常處理情況

JAVA專案中的常用的異常處理情況

                           ——取自Jarvan_SongCSND部落格

NO.1 java.lang.NullPointerException

這個異常比較容易遇到異常的解釋是“程式遇上了空指標”,簡單地說就是呼叫了未經初始化的物件或者是不存在的物件,這個錯誤經常出現在建立圖片,呼叫陣列這些操作中,比如圖片未經初始化,或者圖片建立時的路徑錯誤等等。對陣列操作中出現空指標,很多情況下是一些剛開始學習程式設計的朋友常犯的錯誤,即把陣列的初始化和陣列元素的初始化混淆起來了。陣列的初始化是對陣列分配需要的空間,而初始化後的陣列,其中的元素並沒有例項化,依然是空的,所以還需要對每個元素都進行初始化(如果要呼叫的話)。解決這個問題的方法是在使用前進行判空比較

在呼叫之前寫一個if語句判斷被呼叫的內容是否還沒有被初始化,而後再執行相關的操作。

NO.2 java.lang.ClassNotFoundException

這個異常是很多原本在JB等開發環境中開發的程式設計師,把JB下的程式包放在WTk下編譯經常出現的問題,異常的解釋是“指定的類不存在”這裡主要考慮一下類的名稱和路徑是否正確即可,如果是在JB下做的程式包,一般都是預設加上Package的,所以轉到WTK下後要注意把Package的路徑加上。

NO.3 java.lang.ArithmeticException

這個異常的解釋是“數學運算異常”。比如程式中出現了除以零這樣的運算就會出這樣的異常,對這種異常,大家就要好好檢查一下自己程式中涉及到數學運算的地方,

看有沒有哪一方面寫的不符合數學的計算規則

NO.4 java.lang.ArrayIndexOutOfBoundsException

這個異常也比較常見,異常的解釋是“陣列下標越界”。現在程式中大多都有對陣列的操作,因此在呼叫陣列的時候一定要認真檢查,看自己呼叫的下標是不是超出了陣列的範圍,一般來說,顯示(即直接用常數當下標)呼叫不太容易出這樣的錯,但隱式(即用變量表示下標)呼叫就經常出錯了,還有一種情況,是程式中定義的陣列的長度是通過某些特定方法決定的,不是事先宣告的,這個時候,最好先檢視一下陣列的length,以免出現這個異常。

NO.5 java.lang.IllegalArgumentException

這個異常的解釋是“方法的引數錯誤”。很多J2ME的類庫中的方法在一些情況下都會引發這樣的錯誤,比如音量調節方法中的音量引數如果寫成負數就會出現這個異常,再比如g.setColor(int red,int green,int blue)這個方法中的三個值,如果有超過255的也會出現這個異常,因此一旦發現這個異常,我們要做的,就是趕緊去檢查一下方法呼叫中的引數傳遞是不是出現了錯誤。

NO.6 java.lang.IllegalAccessException

這個異常的解釋是“沒有訪問許可權”,當應用程式要呼叫一個類,但當前的方法沒有對該類的訪問許可權便會出現這個異常。對程式中用了Package的情況下要注意這個異常。

NO.7 java.lang.IncompatibleClassChangeError

不相容的類變化錯誤。當正在執行的方法所依賴的類定義發生了不相容的改變時,丟擲該異常。一般在修改了應用中的某些類的宣告定義而沒有對整個應用重新編譯而直接執行的情況下,容易引發該錯誤。

NO.8 java.lang.InstantiationError

例項化錯誤。當一個應用試圖通過Java的new操作符構造一個抽象類或者介面時丟擲該異常

NO.9 java.lang.LinkageError

連結錯誤。該錯誤及其所有子類指示某個類依賴於另外一些類,在該類編譯之後,被依賴的類改變了其類定義而沒有重新編譯所有的類,進而引發錯誤的情況

NO.10 java.lang.StackOverflowError

堆疊溢位錯誤。當一個應用遞迴呼叫的層次太深而導致堆疊溢位時丟擲