我思故我強(qiáng)

          java異常分類

          Java中異常的分類

          所有異常,都繼承自java.lang.Throwable類。

          Throwable有兩個(gè)直接子類,Error類和Exception類。

          Exception

          Exception則可使從任何標(biāo)準(zhǔn)Java庫(kù)的類方法,自己的方法以及運(yùn)行時(shí)任何異常中拋出來(lái)的基類型。

          異常可分為執(zhí)行異常(RuntimeException)和檢查異常(Checked Exceptions)兩種

          RuntimeException

          RuntimeException在默認(rèn)情況下會(huì)得到自動(dòng)處理。所以通常用不著捕獲RuntimeException,但在自己的封裝里,也許仍然要選擇拋出一部分RuntimeException

          RuntimeException是那些可能在 Java 虛擬機(jī)正常運(yùn)行期間拋出的異常的超類。可能在執(zhí)行方法期間拋出但未被捕獲的RuntimeException的任何子類都無(wú)需throws子句中進(jìn)行聲明。(java api

          它是uncheckedExcepiton

          Java.lang.ArithmeticException

          Java.lang.ArrayStoreExcetpion

          Java.lang.ClassCastException

          Java.lang.EnumConstantNotPresentException

          Java.lang.IllegalArgumentException

                 Java.lang.IllegalThreadStateException

                 Java.lang.NumberFormatException

          Java.lang.IllegalMonitorStateException

          Java.lang.IllegalStateException

          Java.lang.IndexOutOfBoundsException

                 Java.lang.ArrayIndexOutOfBoundsException

                 Java.lang.StringIndexOutOfBoundsException

          Java.lang.NegativeArraySizeException’

          Java.lang.NullPointerException

          Java.lang.SecurityException

          Java.lang.TypeNotPresentException

          Java.lang.UnsupprotedOperationException

          CheckedException

          除了runtimeException以外的異常,都屬于checkedException,它們都在java.lang庫(kù)內(nèi)部定義。Java編譯器要求程序必須捕獲或聲明拋出這種異常。

          一個(gè)方法必須通過(guò)throws語(yǔ)句在方法的聲明部分說(shuō)明它可能拋出但并未捕獲的所有checkedException

          Java.lang.ClassNotFoundException

          Java.lang.CloneNotSupportedException

          Java.lang.IllegalAccessException

          Java.lang.InterruptedException

          Java.lang.NoSuchFieldException

          Java.lang.NoSuchMetodException

          Error

          當(dāng)程序發(fā)生不可控這種錯(cuò)誤時(shí),通常的做法是通知用戶并中止程序的執(zhí)行。

          與異常不同的是Error及其子類的對(duì)象不應(yīng)被拋出。

          Error Throwable 的子類,代表編譯時(shí)間和系統(tǒng)錯(cuò)誤,用于指示合理的應(yīng)用程序不應(yīng)該試圖捕獲的嚴(yán)重問(wèn)題。大多數(shù)這樣的錯(cuò)誤都是異常條件。雖然 ThreadDeath 錯(cuò)誤是一個(gè)正規(guī)的條件,但它也是 Error 的子類,因?yàn)榇蠖鄶?shù)應(yīng)用程序都不應(yīng)該試圖捕獲它。

          在執(zhí)行該方法期間,無(wú)需在其 throws 子句中聲明可能拋出但是未能捕獲 Error 的任何子類,因?yàn)檫@些錯(cuò)誤可能是再也不會(huì)發(fā)生的異常條件。

          它是uncheckedExcepiton

          posted on 2009-10-15 11:03 李云澤 閱讀(23494) 評(píng)論(1)  編輯  收藏 所屬分類: 面試筆試相關(guān)的

          評(píng)論

          # re: java異常分類 2014-11-24 17:49 zuidaima

          java 異常相關(guān)demo源代碼下載地址:http://zuidaima.com/share/k%E5%BC%82%E5%B8%B8-p1-s1.htm  回復(fù)  更多評(píng)論   

          主站蜘蛛池模板: 襄汾县| 临夏县| 安宁市| 廊坊市| 静海县| 托克托县| 紫阳县| 泰来县| 聂荣县| 花莲县| 北京市| 中阳县| 仪征市| 浦城县| 宁德市| 聂拉木县| 精河县| 永泰县| 调兵山市| 山东| 迭部县| 冷水江市| 万安县| 武义县| 永靖县| 阳朔县| 铁岭县| 清水县| 花垣县| 乌拉特中旗| 阿尔山市| 天津市| 黄冈市| 双城市| 宜章县| 区。| 永吉县| 惠安县| 吉木乃县| 临汾市| 泰宁县|