1、各類常見的異常java
在上一節中程序若是你注意留意,程序拋出的異常是:java.lang.ArithmeticException。這個異常是在lang包中已經定義的。在lang包中還定義了一些咱們很是常見的異常,以下表:程序員
上面這些異常要求都能記住,程序拋出了異常後,你要知道程序發生了是什麼問題。咱們能夠舉個例子說明一下。代碼以下:spa
public static void main(String[] args) { Cal cal=null;//沒有new對象 try{ int result=cal.div(10, 0);//這裏會拋出空指針異常 System.out.println("結果:"+result);//這句沒有執行 }catch (Exception e) { e.printStackTrace();//能夠使用printStackTrace方法打印異常信息。 } }
finally語句塊不是必須的,因此咱們並無finally語句塊,咱們經過異常的printStackTrace方法打印異常信息,因此控制檯最後輸入:3d
2、異常直接的繼承關係指針
異常類之間的繼承關係以下圖:code
對上圖咱們須要說明幾點對象
一、Throwable類有兩個直接子類:一個是Error類,一個是Exception類。Error類前面咱們也講過了,是java程序運行時系統的內部錯誤,例如內存溢出等,這點不須要咱們程序員關心,關心了也沒有什麼辦法的。咱們須要關係的Exception。他表示程序運行是的錯誤,能夠使用try...catch...捕獲。blog
二、系統定義的異常大部分都是繼承了RuntimeException,有類名可知,就是運行時異常,上面咱們介紹的的空指針異常,除數爲0異常,和數據越界異常都是它的子類。繼承