Error 是程序沒法處理的錯誤。發生時,通常jvm會終止線程。 Exception 是程序自己能夠處理的異常。程序中應該儘量去處理這些異常。jvm
運行時異常,如:NullPointerException,IndexOutOfBoundException,這些異常是不檢查異常,程序中能夠選擇捕獲處理,也能夠不處理。線程
非運行時異常,是上面異常之外的異常,如:IOException,SQLException以及用戶自定義異常,其必須被try{}catch(){}所捕獲,或者在方法簽名經過 throws 子句聲明。受檢查的異常必須在編譯時被捕捉處理,不然不能編譯經過。io