所謂的異常就是阻止當前程序或方法繼續執行的問題。
java異常分為兩種:運行時異常(RuntimeException)和非運行時異常(CheckedException)也叫檢查式異常。
1.運行時異常是不需要捕獲的,程序員可以不去處理,當異常出現時,虛擬機會處理。常見的運行時異常有空指針異常。
我們常見的5中運行時異常:
ClassCastException(類轉換異常)
IndexOutOfBoundsException(數組越界)
NullPointerException(空指針)
ArrayStoreException(數據存儲異常,操作數組時類型不一致)
還有IO操作的BufferOverflowException異常
具體可以參見java的API:http://docs.oracle.com/javase/7/docs/api/
2.非運行時異常就必須得捕獲了,否則編譯不過去,java編譯器要求程序員必須對這種異常進行catch,Java認為Checked異常都是可以被處理(修復)的異常,所以Java程序必須顯式處理Checked異常。
常見的非運行異常有io異常和sql異常。
IOException、FileNotFoundExcetion 和SQLException
finally是異常處理工作的一部分,表示總是執行。一般finally寫的代碼語句就是流的關閉。也就是做了一項清理,工作清理工作對於我們來說是必不可少的,因為如果一些消耗資源的操作,比如IO,JDBC。如果我們用完以后沒有及時正確的關閉,那后果會很嚴重,這意味着內存泄露。(有人說過,對於資源的及時正確的清理是程序員的基本素質之一)
另外不得不說異常處理中的throws和throw的區別了。
1、throws出現在方法的聲明中,表示該方法可能會拋出的異常,允許throws后面跟着多個異常類型
2、throw出現在方法體中,用於拋出異常。當方法在執行過程中遇到異常情況時,將異常信息封裝為異常對象,然后throw。
---------------------
作者:艾倫藍
來源:CSDN
原文:https://blog.csdn.net/lan12334321234/article/details/70049446/
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!