Java Exception 異常機制(4) -- RuntimeException Checked Error 不同

Java Exception 異常機制(4) – RuntimeException Checked Error 不同

lalala.大家好,我是佛系碼農 Ted,一個和你一樣渴望成爲大牛的low級程序員!

如果以下的內容有幫到你,請一定要動動你可愛的小手指,點贊,轉載,評論,幫我來個全套大保健啊~~~

這裏寫圖片描述

一、Error


Error(錯誤)表示系統級的錯誤和程序不必處理的異常,是java運行環境中的內部錯誤或者硬件問題。比如:內存資源不足等。對於這種錯誤,程序基本無能爲力,除了退出運行外別無選擇,它是由Java虛擬機拋出的。

二、Exception


異常Exception又被分爲兩大類:Checked異常和Runtime異常
所有RuntimeException類及其子類實例被稱爲Runtime異常;不是RuntimeException類及其子類的異常實例則稱爲Checked異常

checked exception 和runtime exception在機制和邏輯倆方面有本質的區別

1. 機制方面

## 1.1 Checked Exception

產生異常,編譯器強制要求進行處理,產生編譯報錯

處理辦法:

  • 當前方法明確知道如何處理該異常,程序應該使用try…catch塊來捕獲該異常,然後對應的catch塊中修補該異常。
  • 進行上拋thorws 或 thow ,交由調命令者進行處理

常見的Checked異常一般和IO相關 如:FileNotFoundException

##1.2 Runtime Exception

Runtime異常無須顯式聲明拋出,無須事些進行異常處理

2. 邏輯方面

我個人作爲開發人員來看
checked exception 更多是開發人員事些已經知道有一定概率的異常,對這些特定的異常進行捕捉,處理,從而避免程序在異常處宕機(比如IO Exception 程序IO開銷時,往往會產」不可思議」的異常),個人感覺自定義異常和此checked exception 一定程度上的功能相似
而runtime exception的產生必然會使程序中止,開發人必須停止程序後對代碼進行修改,這也是程序的目的,希望錯誤不被隱藏 ; 就運用來看的,比如我們在調用別人封裝好的方法(如jdk自帶的數組類的方法),如果傳入不合法的值(如產生數組越界的情況),產生不可處理的錯誤,拋出runtime exception,程序必然需要中止

好了,今天的分享先到這了~~~

請收下我恭敬的膝蓋