1. 程式人生 > >Android中的一些Exception

Android中的一些Exception

     作為一名開發人員,在開發過程中,我們不免會遇到Bug,從而導致程式奔潰。這個時候我們的開發環境就會報出Exception或者Error錯誤了,今天在這裡,筆者想要跟大家淺談一下Exception。

      我們都知道Exception和Error都是繼承自Throwable類的。而作為Exception都有哪些種類的Exception會導致觸發Expection。筆者大概總結了一下大概有25種Exception,下面我們就逐一去認識一下這些Exception吧。

1、RuntimeException

執行時異常,這個異常通常都會是其他的異常導致的,比如說NullPointerException等。這個時候我們想要解決RuntimeException往往不是直接解決RuntimeException而是解決導致RuntimeException的其他異常,比如說NullPointerException,當我們解決了NullPointerException的時候,自然而然的也就解決了RuntimeException。關於NullPointerException後面,我們會後介紹。

2、ArithmeticException

數學運算異常,顧名思義,出現這個異常的時候肯定使我們程式中的數學運算出現錯誤了,要好好檢查一下數學運算部分的程式碼。

3、ArrayIndexOutOfBoundsException

陣列越界,這個很明顯就是自己不合法的索引陣列了。

4、ArrayStoreException

陣列儲存異常,當試圖將型別不相容型別的物件存入一個Object[]陣列時將引發異常。

5、ClassCastException

資料型別轉換異常,發生這個,肯定是你的資料型別轉換出問題了。

6、ClassNotFoundException

出現了這個異常就快去看看是不是缺少檔案了,或者重新編譯一下,也有可能是在編譯環節出問題了,所以導致了.class檔案找不到了。

7、CloneNotSupportedException

克隆不支援異常,發生這個異常的原因就是如果在沒有實現Cloneable 介面的例項上呼叫 Object 的 clone 方法。

8、EnumConstantNotPresentException

列舉常量不存在異常。當應用試圖通過名稱和列舉型別訪問一個列舉物件,但該列舉物件並不包含常量時,丟擲該異常。

9、IllegalAccessException

違法的訪問異常。當應用試圖通過反射方式建立某個類的例項、訪問該類屬性、呼叫該類方法,而當時又無法訪問類的、屬性的、方法的或構造方法的定義時丟擲該異常。

10、IllegalArgumentException

非法引數異常,此異常表明向方法傳遞了一個不合法或不正確的引數。

11、IllegalStateException

違法的狀態異常,當在Java環境和應用尚未處於某個方法的合法呼叫狀態,而呼叫了該方法時,丟擲該異常。

12、IllegalThreadStateException

違法的執行緒狀態異常,當縣城尚未處於某個方法的合法呼叫狀態,而呼叫了該方法時,丟擲異常。

13、IndexOutOfBoundsException

索引越界異常。當訪問某個序列的索引值小於0或大於等於序列大小時,丟擲該異常。

14、InstantiationException

例項化異常,當試圖通過newInstance()方法建立某個類的例項,而該類是一個抽象類或介面時,丟擲該異常。

15、InterruptedException

被中止異常,當某個執行緒處於長時間的等待、休眠或其他暫停狀態,而此時其他的執行緒通過Thread的interrupt方法終止該執行緒時丟擲該異常。

16、NegativeArraySizeException

陣列大小為負值異常。當使用負數大小值建立陣列時丟擲該異常。

17、NoSuchFieldException

屬性不存在異常。當訪問某個類的不存在的屬性時丟擲該異常。

18、NoSuchMethordExcepton

方法未找到異常,顧名思義,好好檢查一下方法名稱的拼寫。

19、NullPointerException

空指標異常,常見的發生情況可能有下面這三種:

(1)字串等資料型別沒有初始化

(2)類例項(物件)有用具體的類初始化

(3)沒有判斷是否為空

20、NumberFormatException

字串轉換為數字異常,發生這個異常的話,大概就是你的String轉化成int行的格式有問題了,去看看你的String是不是滿足轉化成int的要求。

21、ReflectiveOperationException

表示在反射操作中,丟擲的異常,這個異常通常也會伴隨著別的異常,要想解決這個異常多數情況下我們需要解決這些伴隨的異常。伴隨的異常具體的有ClassNotFoundException、IllegalAcessException、InstantiationException、NoSuchFieldException。

22、SecurityException

安全異常,這種情況可能就是你的環境配置問題了

23、StringIndexOutBoundsException
對String的方法進行操作時丟擲的異常,比如charAt()方法,當索引超出小於0,大於或等於字串的長度時就會丟擲該異常。它是IndexOutOfBoundsException的子類。

24、TypeNotPresentException

型別不存在異常,通過反射讀取註解時,會經常丟擲該異常。

25、UnSupportedOperationException

Java集合操作丟擲的異常。

上面就是25種異常情況,我們在不確定的,可以使用Try。。。Catch進行補貨,從而增強程式的健壯性