大家肯定經常遇到這種例外。對異常的解釋是“程序遇到了空指針”,簡單來說就是調用未初始化的對象或者不存在的對象。這個錯誤經常出現在創建圖片和調用數組的操作中,比如圖片未初始化或者創建圖片時路徑錯誤。很多情況下數組操作出現空指針是壹些剛開始學編程的朋友常犯的錯誤,就是把數組的初始化和數組元素的初始化混淆了。數組的初始化是為數組分配所需的空間,而初始化後的數組中的元素在沒有實例化的情況下仍然是空的,所以需要對每個元素進行初始化(如果要調用的話)。
2.Java . lang . classnotfoundexception
這個異常是很多原本在jb等開發環境下開發的程序員在wtk下編譯jb下的包的通病。對異常的解釋是“指定的類不存在”。這裏主要考慮類的名稱和路徑是否正確。如果是jb下做的包,通常默認添加包,所以切換到wtk後要註意添加包的路徑。
3.java.lang.arithmeticexception
對這種異常的解釋是“數學運算異常”。比如程序中有除零之類的運算,就會出現這樣的異常。對於這種異常,大家要仔細檢查自己的程序中涉及到數學運算的地方,公式是否不妥。
4.Java . lang . arrayindexoutofboundsexception
相信很多朋友經常會遇到這種例外。對異常的解釋是“數組下標越界”。現在大部分程序都有對數組的操作,所以在調用數組的時候,壹定要仔細檢查,看我們調用的下標是否超出了數組的範圍。壹般來說,在顯示(即直接用常量作為下標)調用中不容易犯這樣的錯誤,而隱式(即用變量表示下標)調用經常出錯。還有壹種情況。但是程序中定義的數組長度是由壹些特定的方法決定的,不是事先聲明的。此時,最好先檢查數組的長度,以避免這種異常。
5.Java . lang . illegalargumentexception
這個異常的解釋是“方法的參數錯誤”。j2me類庫中的許多方法在某些情況下會導致這樣的錯誤。例如,如果音量調整方法中的音量參數被寫成負數,則會出現此異常。例如,如果G. SetColor (int red,int green,int blue)的方法中有超過255個值,也會出現這個異常。所以壹旦發現這個異常,我們要做的就是快速檢查方法。
6.Java . lang . illegalaccessexception
這個例外的解釋是“沒有訪問權限”。當壹個應用程序想要調用壹個類,但是當前方法沒有訪問該類的權限時,就會出現這個異常。當在程序中使用包時,請註意這個異常。
還有很多其他的異常,我就不壹壹列舉了。我想說明的是,壹個合格的程序員需要對程序中的常見問題和相應的解決方法有很好的了解,否則如果只是停留在編寫程序而不做改動,會極大的影響自己的發展。所有異常的描述都可以在api中找到。
算術異常類:Arithmetic exception
nullpointerexception類:NullPointerException
類型轉換異常:ClassCastException
數組負下標異常:NegativeArrayException
數組下標越界異常:ArrayIndexOutOfBoundsException
違反安全原則的異常:SecturityException
文件結束異常:EOFException
文件中未找到異常:FileNotFoundException。
字符串轉換為數字異常:NumberFormatException
操作數據庫異常:SQLException
輸入/輸出異常:IOException
該方法未發現異常:NoSuchMethodException。
java.lang.AbstractMethodError
抽象方法中的錯誤。當應用程序試圖調用抽象方法時拋出。
java.lang.AssertionError
斷言是錯誤的。用於指示斷言的失敗。
Java . lang . class circularity error
類循環依賴錯誤。初始化類時,如果檢測到類之間的循環依賴關系,將引發此異常。
java.lang.ClassFormatError
類別格式錯誤。當Java虛擬機試圖從文件中讀取Java類並檢測到文件的內容不符合類的有效格式時拋出。
java.lang .錯誤
錯誤。是所有錯誤的基類,用於標識嚴重的程序運行問題。這些問題通常描述了壹些不應該被應用程序捕獲的異常情況。
Java . lang . exceptioniniinitializererror
初始化程序錯誤。當在類的靜態初始值設定項的執行過程中發生異常時拋出。靜態初始化器指的是直接包含在類中的靜態語句段。
java.lang.IllegalAccessError
非法訪問錯誤。當應用程序試圖訪問、修改類的字段或調用其方法,但違反了字段或方法的可見性聲明時,將引發此異常。
Java . lang . incompatilleclasschangeerror
不兼容的類更改錯誤。當執行方法所依賴的類定義發生不兼容的更改時,將引發此異常。壹般來說,在沒有重新編譯整個應用程序,直接運行的情況下,修改應用程序中某些類的聲明定義,很容易導致這個錯誤。
java.lang.InstantiationError
實例化錯誤。當應用程序試圖通過Java的新操作符構造壹個抽象類或接口時,就會拋出這個異常。
java.lang.InternalError
內部錯誤。用於指示Java虛擬機中發生了內部錯誤。
java.lang.LinkageError
鏈接錯誤。該錯誤及其所有子類表明壹個類依賴於其他類。編譯此類後,依賴類在沒有重新編譯所有類的情況下更改了它的類定義,這導致了壹個錯誤。
java.lang.NoClassDefFoundError
找不到類定義錯誤。當Java虛擬機或類加載器試圖實例化某個類,但找不到該類的定義時,會引發此錯誤。
java.lang.NoSuchFieldError
域中沒有錯誤。當應用程序試圖訪問或修改某個類的域,但該類的定義中沒有該域的定義時,將引發此錯誤。
java.lang.NoSuchMethodError
方法上沒有錯誤。當應用程序試圖調用某個類的方法,但該類的定義中沒有該方法的定義時,會引發此錯誤。
java.lang.OutOfMemoryError
內存不足錯誤。當Java虛擬機沒有足夠的可用內存分配給對象時,會引發此錯誤。
java.lang.StackOverflowError
堆棧溢出錯誤。當應用程序遞歸調用的級別太深並且堆棧溢出時,會引發此錯誤。
java.lang.ThreadDeath
線程結束。當調用Thread類的stop方法來指示線程結束時,將引發此錯誤。
Java . lang . unknown錯誤
未知錯誤。用於指示Java虛擬機有未知的嚴重錯誤。
java.lang.UnsatisfiedLinkError
未滿足的鏈接錯誤。當Java虛擬機找不到聲明為本機方法的類的本機語言定義時拋出。
Java . lang . unsupportedclassversionerror
不支持的類的錯誤版本。當Java虛擬機嘗試從讀取類文件,但發現當前Java虛擬機不支持該文件的主版本號和次版本號時,會引發此錯誤。
java.lang.VerifyError
驗證錯誤。當驗證程序在類文件中檢測到內部不兼容或安全問題時,會引發此錯誤。
java.lang.VirtualMachineError
虛擬機錯誤。用於指示虛擬機已損壞或繼續操作所需的資源不足。
java.lang.ArithmeticException
算術條件異常。比如:整數除以零等。
Java . lang . arrayindexoutofboundsexception
數組索引超出界限異常。當數組的索引值為負或者大於或等於數組大小時拋出。
java.lang.ArrayStoreException
數組存儲異常。當非數組聲明類型的對象存儲在數組中時引發。
java.lang.ClassCastException
班級建模不正常。假設有類A和B(A不是B的父類或子類), O是A的實例,當O被強制構造為B類的實例時,將引發此異常..這種異常通常被稱為強制轉換異常。
Java . lang . classnotfoundexception
未找到類異常。當應用程序試圖基於字符串形式的類名構造壹個類,但在遍歷CLASSPAH後找不到相應名稱的類文件時,就會引發此異常。
Java . lang . clonenotsupportedexception
不支持克隆異常。當Cloneable接口沒有實現或者不支持clone方法時,調用它的clone()方法會拋出這個異常。
Java . lang . enumconstantnotpresentexception
枚舉常數沒有例外。當應用程序試圖通過名稱和枚舉類型訪問枚舉對象,但該枚舉對象不包含常量時,將引發此異常。
異常
根異常。用於描述應用程序想要捕獲的內容。
Java . lang . illegalaccessexception
非法訪問異常。當應用程序試圖通過反射創建類的實例、訪問類的屬性並調用類的方法,但此時無法訪問類、屬性、方法或構造函數的定義時,將引發此異常。
Java . lang . illegalmonitorstateexception
非法監控狀態異常。當線程試圖等待不屬於它的對象(O)的監視器或通知其他線程等待對象(O)的監視器時,會引發此異常。
Java . lang . illegalstateexception
非法狀態是不正常的。當Java環境和應用程序不在合法的調用狀態下調用方法時,會引發此異常。
Java . lang . illegalthreadstateexception
非法線程狀態異常。當該縣不處於方法的合法調用狀態,並且調用了該方法時,將引發異常。
Java . lang . indexoutofboundsexception
索引超出界限異常。當訪問序列的索引值小於0或大於或等於序列大小時,將引發此異常。
Java . lang . instantiation exception
實例化異常。當試圖通過newInstance()方法創建某個類的實例,並且該類是抽象類或接口時,將引發此異常。
Java . lang . interrupted異常
異常中止。當壹個線程處於長時間等待、睡眠或其他掛起狀態,而其他線程通過Thread的interrupt方法終止該線程時,就會拋出這個異常。
Java . lang . negative arraysizeexception
負數組大小異常。當使用負的大小值創建數組時,將引發此異常。
java.lang.NoSuchFieldException
屬性中沒有異常。當訪問不存在的類屬性時,會引發此異常。
Java . lang . nosuchmethodexception
方法中沒有異常。當訪問壹個不存在的類方法時,拋出這個異常。
java.lang.NullPointerException
空指針異常。當應用程序試圖在需要對象的地方使用null時,會引發此異常。比如:調用null對象的實例方法,訪問null對象的屬性,計算null對象的長度,用throw語句拋出null等等。
Java . lang . numberformatexception
數字格式不正常。當試圖將字符串轉換為指定的數值類型,但該字符串不符合數值類型要求的格式時,將引發此異常。
java.lang.RuntimeException
運行時異常。是在所有Java虛擬機的正常運行期間可以拋出的異常的父類。
Java . lang . security異常
安全異常。安全管理器引發的異常,用於指示安全違規。
Java . lang . stringindexoutofboundsexception
字符串索引超出界限異常。當使用小於0或大於或等於序列大小的索引值訪問字符串中的字符時,將引發此異常。
Java . lang . typenotpresentexception
類型沒有例外。