01.異常的概述和體系結(jié)構(gòu)

異常概述

什么是異常?

Java代碼在運(yùn)行時(shí)期發(fā)生的問(wèn)題就是異常。
在Java中,把異常信息封裝成了一個(gè)類。當(dāng)出現(xiàn)了問(wèn)題時(shí),就會(huì)創(chuàng)建異常類對(duì)象并拋出異常相關(guān)的信息(如異常出現(xiàn)的位置、原因等)。
在Java中使用Exception類來(lái)描述異常。


Exception類

查看API中Exception的描述,Exception 類及其子類是 Throwable 的一種形式,它用來(lái)表示java程序中可能會(huì)產(chǎn)生的異常,并要求對(duì)產(chǎn)生的異常進(jìn)行合理的異常處理。

繼續(xù)觀察,我們可以發(fā)現(xiàn)Exception有繼承關(guān)系,它的父類是Throwable。Throwable是Java 語(yǔ)言中所有錯(cuò)誤或異常的超類,即祖宗類。


Exception類

Throwable類

另外,在異常Exception類中,有一個(gè)子類要特殊說(shuō)明一下,RuntimeException子類,RuntimeException及其它的子類只能在Java程序運(yùn)行過(guò)程中出現(xiàn)。


RuntimeException

我們?cè)賮?lái)觀察Throwable類,能夠發(fā)現(xiàn)與異常Exception平級(jí)的有一個(gè)Error,它是Throwable的子類,它用來(lái)表示java程序中可能會(huì)產(chǎn)生的嚴(yán)重錯(cuò)誤。解決辦法只有一個(gè),修改代碼避免Error錯(cuò)誤的產(chǎn)生。
Error
package com.itheima_01;

import java.io.FileWriter;

/*
 * Exception in thread "main" java.lang.ArithmeticException: / by zero
 *  at com.itheima_01.ExceptionDemo.main(ExceptionDemo.java:5)
 *  我們?cè)趯?xiě)代碼的時(shí)候經(jīng)常出現(xiàn)一些小問(wèn)題,為了方便我們處理這些小問(wèn)題,Java為我們提供了異常機(jī)制
 *
 *  異常包含了錯(cuò)誤的類型、原因以及位置
 *
 *  異常:不正常,我們?cè)趯?xiě)代碼的時(shí)候出現(xiàn)編譯或者運(yùn)行時(shí)的錯(cuò)誤
 *
 *  異常的體系結(jié)構(gòu):
 *          Throwable(是最頂層)
 *                  Error:出現(xiàn)的不能處理的嚴(yán)重問(wèn)題
 *                  Exception:可以處理的問(wèn)題
 *
 *  電腦壞了:
 *      系統(tǒng)中毒:重裝系統(tǒng)就可以了
 *      主板壞了:買一臺(tái)新的
 */
public class ExceptionDemo {
    public static void main(String[] args) {
//      int a = 10 / 0;
//      System.out.println(a);
        
        FileWriter fw = new FileWriter("a.txt");
    }
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容