1. 程式人生 > >Java中error和Exception區別

Java中error和Exception區別

1、error—錯誤 :
是指程式無法處理的錯誤,表示應用程式執行時出現的重大錯誤。
例如jvm執行時出現的OutOfMemoryError以及Socket程式設計時出現的端口占用等程式無法處理的錯誤

2、Exception — 異常 :異常可分為執行時異常跟編譯異常
1.執行時異常:即RuntimeException及其之類的異常。這類異常在程式碼編寫的時候不會被編譯器所檢測出來,是可以不需要被捕獲,但是程式設計師也可以根據需要進行捕獲丟擲。常見的RUNtimeException有:NullpointException(空指標異常),ClassCastException(型別轉換異常),IndexOutOfBoundsException(陣列越界異常)等。
2)編譯異常:RuntimeException以外的異常。這類異常在編譯時編譯器會提示需要捕獲,如果不進行捕獲則編譯錯誤。常見編譯異常有:IOException(流傳輸異常),SQLException(資料庫操作異常)等。
3、java處理異常的機制:丟擲異常以及捕獲異常 ,一個方法所能捕捉的異常,一定是Java程式碼在某處所丟擲的異常。簡單地說,異常總是先被丟擲,後被捕捉的

如下圖:
在這裡插入圖片描述

4、最後再說下throw跟throws的區別:

public void test() throws Exception {
	    throw new Exception();
	}

throws表示一個方法宣告可能丟擲一個異常,throw表示此處丟擲一個已定義的異常