1. 程式人生 > >[思維導圖]Java中異常的分類整理

[思維導圖]Java中異常的分類整理

父類:Throwable

Throwable是所有異常的父類,位於:java.lang.Throwable
Java的異常(包括Exception和Error)分為可查的異常(checked exceptions)和不可查的異常(unchecked exceptions)

1. 可查異常(編譯器要求必須處置的異常):

正確的程式在執行中,很容易出現的、情理可容的異常狀況。可查異常雖然是異常狀況,但在一定程度上它的發生是可以預計的,而且一旦發生這種異常狀況,就必須採取某種方式進行處理。
除了RuntimeException及其子類以外,其他的Exception類及其子類都屬於可查異常。這種異常的特點是Java編譯器會檢查它,也就是說,當程式中可能出現這類異常,要麼用try-catch語句捕獲它,要麼用throws子句宣告丟擲它,否則編譯不會通過。

2. 不可查異常(編譯器不要求強制處置的異常):

包括執行時異常(RuntimeException與其子類)和錯誤(Error)。

兩大子類:

1. Error

Error:代表了編譯和系統的錯誤,不允許捕獲,位於:java.lang.Error

2. Exception

Exception:代表了標準Java庫方法所激發的異常,位於:java.lang.Exception
Exception 這種異常分兩大類執行時異常和非執行時異常(編譯異常)。程式中應當儘可能去處理這些異常。

2.1 RuntimeException類及其子類的例項 : 執行時異常

對應於編譯錯誤,指Java程式在執行時產生的由直譯器引發的各種異常。執行異常可能出現在任何地方,且出現頻率很高,因此為了避免巨大的系統資源開銷,編譯器不對異常進行檢查。所以Java語言中的執行異常不一定被捕獲。出現執行錯誤往往表示程式碼有錯誤.如NullPointerException(空指標異常)、IndexOutOfBoundsException(下標越界異常)等,這些異常是不檢查異常,程式中可以選擇捕獲處理,也可以不處理。這些異常一般是由程式邏輯錯誤引起的,程式應該從邏輯角度儘可能避免這類異常的發生。

2.1 Not_RuntimeException類及其子類的例項 : 非執行時異常(無法編譯)

屬於CheckedEcption(可檢測異常)。Java編譯器利用分析方法或構造方法中可能產生的結果來檢測Java程式中是否含有檢測異常的處理程式,對於每個可能的可檢測異常,方法或構造方法的throws子句必須列出該異常對應的類。在Java的標準包java.lang java.util 和 java.net 中定義的異常都是非執行異常。
所有RuntimeException以外的異常,型別上都屬於Exception類及其子類。從程式語法角度講是必須進行處理的異常,如果不處理,程式就不能編譯通過。如IOException、SQLException等以及使用者自定義的Exception異常,一般情況下不自定義檢查異常。

附上思維導圖

這裡寫圖片描述

如有錯誤,歡迎指正

相關推薦

[思維]Java異常分類整理

父類:Throwable Throwable是所有異常的父類,位於:java.lang.Throwable Java的異常(包括Exception和Error)分為可查的異常(ch

【詳】JAVA異常分類以及異常處理方法之間的區別以及聯絡

異常在日長開發中就像看見地鐵裡邊的人頭一樣的,放眼望去,齊刷刷的一片,各種異常。分佈範圍比較廣泛,很多人看到異常,就這表情 JAVA中異常: NullPointerException 空指標異常

思維-------java-IO流知識結構梳理

基類檔案流 的使用 開始   2018年8月10日16:37:41 結束   2018年8月10日18:24:19 package 面向物件; import java.io.FileInputStream; import java.io.FileNotFoundE

Java異常分類和Throw和Throws的區別

#### 1.異常分類 Throwable是Java中所有錯誤和異常的超類。它的下一級是Error和Exception ##### 1.1 Error(錯誤) Error是指程式執行時系統的內部錯誤和資源耗盡錯誤。程式不會丟擲該類物件。如果出現了Error,代表程式執行時JVM出現了重大問題,比如常見的Out

mysqlvarchar和char區別(思維整理

var 但是 系統 mysql 由於 varchar .html nbsp 了解   由於mysql一直是我的弱項(其實各方面我都是很弱的),所以最近在看msyql,正好看到varchar和char區別,所以整理一下,便於以後遺忘。      0.0圖片已經說明一切,但是系

java集合map體系思維整理

開始時間:2018年8月23日20:00:37 | 2018年8月22日14:30:12 | 2018年8月23日14:30:45 結束時間:2018年8月23日21:47:03 | 2018年8月22日16:47:20 | 2018年8月23日18:39:48 累計時間

[計算機領域的思維系列整理][java]多執行緒

本圖整理來源於關注java多執行緒的博主hacke2,原作者部落格在此請點選,如果有相關的連結,請大家告訴小編哈。 hacke2 多執行緒初級 多執行緒 中級 多執行緒中級,包含控制執行緒的幾種方法、執行緒的同步、執行緒組,有返回值的執行緒、執行

[筆記][思維]讀深入理解JAVA記憶體模型整理思維

本人記憶差,整理這個思維導圖,相當於較認真的看了一遍,整個思維導圖,基本上就是對原文的拷貝。 有了層級關係。和本人自己的一些理解。由於思維導圖弄出來的圖片大於100M了。所以就放出原始檔, 更方便的

月薪30KJava大牛整理了最新Java學習思維,看完茅塞頓開

面向 繼承 cached 相對 開發者 規模 所有 git abc 文章最後有面試題福利!記得看一下哦~ 想要成為合格的Java程序員或工程師到底需要具備哪些專業技能,面試者在面試之前到底需要準備哪些東西呢? 本文陳列的這些內容既可以作為個人簡歷中的內容,也可以作為面試的時

java思維整理

jmm https://www.edrawsoft.cn/viewer/public/s/b0178374373697; red

思維整理Java併發基礎

話不多說,先上圖。 ![併發基礎](https://gitee.com/sanfene/picgo/raw/master/%E5%B9%B6%E5%8F%91%E5%9F%BA%E7%A1%80.png) # 1、基本概念 欲說執行緒,必先說程序。 - 程序:程序是程式碼在資料集合上的一次

java基礎思維

文件 alt java 基礎 ringbuf 數組 -a java運算 upload amp 1、Java 簡介.png 2、java主要特性.png 3、java發展歷史.png 4、java 開發環境配置.png 5、jav

JAVA基礎-思維

blog java 導圖 bsp alt .com images es2017 技術 JAVA基礎-思維導圖

Java基礎知識思維

-a log 思維 data box csdn disable clas ava Java基礎知識思維導圖

各種安全思維整理免費送~

get width 免費 all lin 作者 -s 整理 ref 本文作者:i春秋作家——zusheng 不局限於上面 項目地址:https://github.com/phith0n/Mind-Map 免費課程學習地址:https://bbs.ichunqiu.

全面的JAVA EE基礎體系思維

bubuko 引用 png image bsp log img ava detail 第一級展開圖 第二級展開圖 第三級展開圖 引用地址:http://blog.csdn.net/g290095142/article/details/78743971 全面的JAVA

Java EE 課程作業(third)- 關於 Java EE的思維

png http class BE www. image target www blog 所用到的軟件:Xmind 所參考的思維導圖:http://www.codeweblog.com/j2ee%E7%9F%A5%E8%AF%86%E4%BD%93%E7%B3%BB%E6%

Java工程師成神之路思維

思維 ava inf png 更新 時間 nbsp 微信 bubuko   前面看Hollis的微信公眾號更新了Java工程師成神之路的文檔,想著有時間把它畫下來,畫下來之後分享出來: 主要內容: 基礎篇: 進階篇: 高級篇: 推薦書籍:

Linux shell jdk mysql ssh ntp yum相關配置..... 操作linux相關命令大全結構體系-思維

以下是命令截圖:詳情連結連結:https://pan.baidu.com/s/1t1_6O_fOSi6atKWRvnE2vA  提取碼:px4y     該Linux結構知識體系——沒有crontab  cut  awk 等相關操作&nbs

全新網際網路Java後端開發技術思維

圖文裡的技術如何學習,有沒有免費資料? 知識體系已整理好(原始碼,筆記,PPT,學習視訊),歡迎免費領取。 分享給喜歡Java的,喜歡程式設計,有夢想成為架構師的程式設計師們,希望能夠幫助到你們。 不是Java的程式設計師也沒關係,幫忙轉發給更多朋友!謝謝。