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