亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Android自定義拋出異常的方法詳解

 更新時間:2019年06月04日 11:35:25   作者:奔跑的佩恩  
這篇文章主要給大家介紹了關(guān)于Android自定義拋出異常的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對各位Android開發(fā)者們具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧

前言

在android開發(fā)過程中,我們經(jīng)常遇到異常的問題,崩潰拋出異常的時候,是非常令人煩悶的。但是異常有一個好處,使得app能在編譯的時候給我們提供一些bug信息,有時可能比較模糊,有時可能很精準,甚至提示報錯行?;谶@一點,今天我們就來講講android中的異常吧。

今天要講的內(nèi)容:

  • throw 和 throws
  • 異常類型
  • 仿寫異常及其好處

一. throw 和 throws

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

  • throw:拋出異常,一般是一個具體的異常。放置在方法體內(nèi),當代碼執(zhí)行此行并拋出一個具體的異常以后,此異常下面的邏輯代碼均不會執(zhí)行。
  • throws:拋出異常的聲明,一般放在方法頭,表示此方法的執(zhí)行可能會引起某個異常,或某幾個異常,throws 后面可以聲明多個異常,如 :
public static void function1() throws Exception1, Exception2, Exception3{

}

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

二. 異常類型

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

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

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

2.1 java.lang.NullPointerException

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

2.2 ava.lang.ClassNotFoundException

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

2.3 java.lang.ArrayIndexOutOfBoundsException

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

2.4 java.lang.IllegalArgumentException

方法參數(shù)錯誤

2.5 java.lang.IllegalAccessException

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

2.6 ArithmeticExecption

算術(shù)異常

2.7 ClassCastException

類型強轉(zhuǎn)異常

2.8 NegativeArrayException

數(shù)組負下標異常

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

運行時異常

2.18 TypeNotPresentException

類型不存在異常

當然,其實還有很多其他異常,這里就不一一列舉了。

三. 仿寫異常及其好處

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

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

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

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

所以,這無疑是極好的!

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對腳本之家的支持。

相關(guān)文章

  • Android GridLayout使用案例詳解

    Android GridLayout使用案例詳解

    這篇文章主要介紹了Android GridLayout使用案例詳解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • Kotlin基本數(shù)據(jù)類型詳解

    Kotlin基本數(shù)據(jù)類型詳解

    大家好,本篇文章主要講的是Kotlin基本數(shù)據(jù)類型詳解,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • Android自定義View實現(xiàn)BMI指數(shù)條

    Android自定義View實現(xiàn)BMI指數(shù)條

    這篇文章主要為大家詳細介紹了Android自定義View實現(xiàn)BMI指數(shù)條,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-06-06
  • Android AndroidX的遷移

    Android AndroidX的遷移

    這篇文章主要介紹了Android AndroidX的遷移,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • Android自定義View實現(xiàn)遙控器按鈕

    Android自定義View實現(xiàn)遙控器按鈕

    這篇文章主要為大家詳細介紹了Android自定義View實現(xiàn)遙控器按鈕,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • Android使用Jetpack WindowManager開發(fā)可折疊設(shè)備(過程分享)

    Android使用Jetpack WindowManager開發(fā)可折疊設(shè)備(過程分享)

    這篇文章主要介紹了Android使用Jetpack WindowManager開發(fā)可折疊設(shè)備,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2023-11-11
  • android開機自動啟動app的解決方法

    android開機自動啟動app的解決方法

    這篇文章主要為大家詳細介紹了android開機自動啟動app的解決方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • Android性能調(diào)優(yōu)利器StrictMode應(yīng)用分析

    Android性能調(diào)優(yōu)利器StrictMode應(yīng)用分析

    StrictMode意思為嚴格模式,是用來檢測程序中違例情況的開發(fā)者工具。最常用的場景就是檢測主線程中本地磁盤和網(wǎng)絡(luò)讀寫等耗時的操作。這篇文章給大家介紹Android性能調(diào)優(yōu)利器StrictMode應(yīng)用分析,感興趣的朋友一起看看吧
    2018-01-01
  • 使用Flutter實現(xiàn)一個走馬燈布局的示例代碼

    使用Flutter實現(xiàn)一個走馬燈布局的示例代碼

    這篇文章主要介紹了使用 Flutter 實現(xiàn)一個走馬燈布局的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • Android控件PullRefreshViewGroup實現(xiàn)下拉刷新和上拉加載

    Android控件PullRefreshViewGroup實現(xiàn)下拉刷新和上拉加載

    這篇文章主要為大家詳細介紹了Android控件PullRefreshViewGroup實現(xiàn)下拉刷新和上拉加載效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-03-03

最新評論