- java異常概念
- java異常分類
- 異常的捕獲和處理
運行期出現(xiàn)的錯誤是最難解決的.
觀察錯誤名字和行號最重要!
c和c++不會檢查數(shù)組越界的問題(緩沖區(qū)域溢出漏洞);
java會檢查數(shù)組的下標是否越界的問題.
try(一個語句)catch(這個錯誤){給一個提示}
ae.printStackTrace(打印堆棧的錯誤,調(diào)試用)
java.lang-class throwable異常問題-Error/Exception-RuntimeException
可以處理的異常叫做Exception,無法處理的(天災)叫Error.RuntimeException是經(jīng)常出的錯誤,這種錯誤可以catch也可以不,老去catch太麻煩了,例如開車有個小石頭,直接碾過去就好了.帶有throws/throw的錯誤必須catch,一個try可以對應很多的catch.
finally
無論有沒有異常,都要執(zhí)行finally語句,當try的前面語句發(fā)生錯誤時,后面的語句不會在執(zhí)行,當我的try語句進行判斷時,會打開一些文件,但是如果這個語句出錯,我需要去關(guān)上這個文件或是清除臨時的數(shù)據(jù),這個時候需要finally語句進行收尾.
catch語句
- 在catch()中聲明的異常對象封裝了異常事件發(fā)生的信息,在catch語句中可以使用這個對象的一些方法獲取這些信息
- getMessage()方法.用來得到有關(guān)異常事件的信息
- printStackTrace()方法.用來跟蹤異常事件發(fā)生時執(zhí)行堆棧的內(nèi)容
聲明方法拋出的異常throws,throw
有的異常,是我們處理不了的.
throws是針對方法拋出的異常,而throw是針對對象