java 运行时异常与非运行时异常理解
參考:https://blog.csdn.net/lan12334321234/article/details/70049446
所謂的異常就是阻止當前程序或方法繼續執行的問題
java異常分為兩種:運行時異常(RuntimeException)和非運行時異常(CheckedException)也叫檢查式異常。
我們常見的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 和SQLExceptionfinally是異常處理工作的一部分,表示總是執行。一般finally寫的代碼語句就是流的關閉。也就是做了一項清理,工作清理工作對于我們來說是必不可少的,因為如果一些消耗資源的操作,比如IO,JDBC。如果我們用完以后沒有及時正確的關閉,那后果會很嚴重,這意味著內存泄露。(有人說過,對于資源的及時正確的清理是程序員的基本素質之一)?
另外不得不說異常處理中的throws和throw的區別了。
1、throws出現在方法的聲明中,表示該方法可能會拋出的異常,允許throws后面跟著多個異常類型?
2、throw出現在方法體中,用于拋出異常。當方法在執行過程中遇到異常情況時,將異常信息封裝為異常對象,然后throw。?
?
轉載于:https://www.cnblogs.com/yingyigongzi/p/9282551.html
總結
以上是生活随笔為你收集整理的java 运行时异常与非运行时异常理解的全部內容,希望文章能夠幫你解決所遇到的問題。