Android中怎么自定義拋出異常

這篇文章給大家介紹Android中怎么自定義拋出異常,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

成都創(chuàng)新互聯(lián)一直通過網(wǎng)站建設(shè)和網(wǎng)站營銷幫助企業(yè)獲得更多客戶資源。 以"深度挖掘,量身打造,注重實(shí)效"的一站式服務(wù),以成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè)、移動(dòng)互聯(lián)產(chǎn)品、全網(wǎng)整合營銷推廣服務(wù)為核心業(yè)務(wù)。十多年網(wǎng)站制作的經(jīng)驗(yàn),使用新網(wǎng)站建設(shè)技術(shù),全新開發(fā)出的標(biāo)準(zhǔn)網(wǎng)站,不但價(jià)格便宜而且實(shí)用、靈活,特別適合中小公司網(wǎng)站制作。網(wǎng)站管理系統(tǒng)簡單易用,維護(hù)方便,您可以完全操作網(wǎng)站資料,是中小公司快速網(wǎng)站建設(shè)的選擇。

一. throw 和 throws

異常通常的處理方式有 throw/throws 以及 try-catch 兩種。今天我們主要講解throw/throws這一類的處理。

throw:拋出異常,一般是一個(gè)具體的異常。放置在方法體內(nèi),當(dāng)代碼執(zhí)行此行并拋出一個(gè)具體的異常以后,此異常下面的邏輯代碼均不會(huì)執(zhí)行。  throws:拋出異常的聲明,一般放在方法頭,表示此方法的執(zhí)行可能會(huì)引起某個(gè)異常,或某幾個(gè)異常,throws 后面可以聲明多個(gè)異常,如 :

public static void function1() throws Exception1, Exception2, Exception3{}

而 throws引起的異常,一般由調(diào)用此方法的方法去處理。

二. 異常類型

java開發(fā)異常大致分為三種:

java.lang.Error  java.lang.Exception  java.lang.RuntimeException

這三個(gè)異常類都繼承于他們的父類 Throwable,其中 Error 和 Exception是 Throwable 的兩大子類。Error 一般是系統(tǒng)錯(cuò)誤,我們不予討論,一般我們程序出現(xiàn)bug都是屬于Exception類,RuntimeException 是 Exception的一個(gè)子類。今天我要介紹的就是 RuntimeException 的幾個(gè)常見子類。

2.1 java.lang.NullPointerException

空指針異常,一般是對象未創(chuàng)建或者不存在造成的。

2.2 ava.lang.ClassNotFoundException

類異常,一般是類不存在,排查的時(shí)候注意是不是類名稱寫錯(cuò)或者路徑搞錯(cuò)了

2.3 java.lang.ArrayIndexOutOfBoundsException

下標(biāo)越界異常,一般出現(xiàn)在數(shù)組或集合的操作過程中

2.4 java.lang.IllegalArgumentException

方法參數(shù)錯(cuò)誤

2.5 java.lang.IllegalAccessException

沒有訪問權(quán)限,一般是類的權(quán)限訪問出問題了

2.6 ArithmeticExecption

算術(shù)異常

2.7 ClassCastException

類型強(qiáng)轉(zhuǎn)異常

2.8 NegativeArrayException

數(shù)組負(fù)下標(biāo)異常

2.9 SecturityException

違背安全原則異常

2.10 EOFException

文件已結(jié)束異常

2.11 FileNotFoundException

文件未找到異常

2.12 NumberFormatException

字符串轉(zhuǎn)換為數(shù)字異常

2.13 SQLException

操作數(shù)據(jù)庫異常

2.14 IOException

輸入輸出異常

2.15 NoSuchMethodException

方法未找到異常

2.16 NoSuchFieldException

屬性不存在異常

2.17 RuntimeException

運(yùn)行時(shí)異常

2.18 TypeNotPresentException

類型不存在異常

當(dāng)然,其實(shí)還有很多其他異常,這里就不一一列舉了。

三. 仿寫異常及其好處

看了怎么多的異常,那怎么仿寫一個(gè)異常呢?下面給出一個(gè)例子:

public GestureHelper setPointCount(int pointCount){  if(pointCount<=0){   throw new SecurityException("====pointCount 請輸入大于零的值=======");  }  return GestureHelper.this; }

這是我代碼中的一個(gè)方法,要求是輸入的 pointCount 要大于零,當(dāng)輸入的值不滿足條件的時(shí)候,會(huì)拋出不安全異常,然后出現(xiàn)括號中提示,類似如下:

這樣的話,仿寫異常的好處立見分曉了,就是當(dāng)我們在寫一個(gè)工具類,傳入?yún)?shù)不符合條件的話,在運(yùn)行期就能幫我們檢測自己的代碼中是否有不規(guī)則的東西,能幫我們檢測代碼的質(zhì)量。

關(guān)于Android中怎么自定義拋出異常就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

網(wǎng)站題目:Android中怎么自定義拋出異常
網(wǎng)頁地址:http://muchs.cn/article4/iepsie.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站搜索引擎優(yōu)化、網(wǎng)站策劃微信小程序、營銷型網(wǎng)站建設(shè)、網(wǎng)站內(nèi)鏈

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)