您好,登錄后才能下訂單哦!
這篇文章給大家介紹Android中怎么自定義拋出異常,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
一. throw 和 throws
異常通常的處理方式有 throw/throws 以及 try-catch 兩種。今天我們主要講解throw/throws這一類的處理。
throw:拋出異常,一般是一個具體的異常。放置在方法體內,當代碼執行此行并拋出一個具體的異常以后,此異常下面的邏輯代碼均不會執行。 throws:拋出異常的聲明,一般放在方法頭,表示此方法的執行可能會引起某個異常,或某幾個異常,throws 后面可以聲明多個異常,如 :
public static void function1() throws Exception1, Exception2, Exception3{}
而 throws引起的異常,一般由調用此方法的方法去處理。
二. 異常類型
java開發異常大致分為三種:
java.lang.Error java.lang.Exception java.lang.RuntimeException
這三個異常類都繼承于他們的父類 Throwable,其中 Error 和 Exception是 Throwable 的兩大子類。Error 一般是系統錯誤,我們不予討論,一般我們程序出現bug都是屬于Exception類,RuntimeException 是 Exception的一個子類。今天我要介紹的就是 RuntimeException 的幾個常見子類。
2.1 java.lang.NullPointerException
空指針異常,一般是對象未創建或者不存在造成的。
2.2 ava.lang.ClassNotFoundException
類異常,一般是類不存在,排查的時候注意是不是類名稱寫錯或者路徑搞錯了
2.3 java.lang.ArrayIndexOutOfBoundsException
下標越界異常,一般出現在數組或集合的操作過程中
2.4 java.lang.IllegalArgumentException
方法參數錯誤
2.5 java.lang.IllegalAccessException
沒有訪問權限,一般是類的權限訪問出問題了
2.6 ArithmeticExecption
算術異常
2.7 ClassCastException
類型強轉異常
2.8 NegativeArrayException
數組負下標異常
2.9 SecturityException
違背安全原則異常
2.10 EOFException
文件已結束異常
2.11 FileNotFoundException
文件未找到異常
2.12 NumberFormatException
字符串轉換為數字異常
2.13 SQLException
操作數據庫異常
2.14 IOException
輸入輸出異常
2.15 NoSuchMethodException
方法未找到異常
2.16 NoSuchFieldException
屬性不存在異常
2.17 RuntimeException
運行時異常
2.18 TypeNotPresentException
類型不存在異常
當然,其實還有很多其他異常,這里就不一一列舉了。
三. 仿寫異常及其好處
看了怎么多的異常,那怎么仿寫一個異常呢?下面給出一個例子:
public GestureHelper setPointCount(int pointCount){ if(pointCount<=0){ throw new SecurityException("====pointCount 請輸入大于零的值======="); } return GestureHelper.this; }
這是我代碼中的一個方法,要求是輸入的 pointCount 要大于零,當輸入的值不滿足條件的時候,會拋出不安全異常,然后出現括號中提示,類似如下:
這樣的話,仿寫異常的好處立見分曉了,就是當我們在寫一個工具類,傳入參數不符合條件的話,在運行期就能幫我們檢測自己的代碼中是否有不規則的東西,能幫我們檢測代碼的質量。
關于Android中怎么自定義拋出異常就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。