記錄的有些亂蝴韭,覺得重點(diǎn)的就寫下來了,如果有人看熙侍,別介意排版哈~
一万皿、前言
1摧找、異常:運(yùn)行期出現(xiàn)的錯誤
2、觀察錯誤的名字和行號最重要牢硅,要敢于調(diào)試
3蹬耘、程序是調(diào)出來的,不是寫出來的
4减余、C/C++在語言的級別上并不檢查數(shù)組是否越界综苔,所以會帶來問題,比如IIS緩沖區(qū)溢出漏洞
5位岔、java.lang.ArrayIndexOutOfBoundsException? 數(shù)組下標(biāo)越界異常
6如筛、java.lang.ArithmeticException: / by zero? ?算術(shù)異常:除了零
7、printStackTrace(); 打印堆棧信息
解釋:這個錯誤有可能是上個錯誤引起的抒抬,上個錯誤有可能是上上個錯誤引起的杨刨,把所有的錯誤信息全部打印出來,叫做錯誤的堆棧信息
二擦剑、概念
1妖胀、異常是什么?Java異常是Java提供的用于處理程序中錯誤的一種機(jī)制
2惠勒、所謂錯誤是指程序運(yùn)行的過程中發(fā)生的一些異常事件(如:除0溢出赚抡,數(shù)組下標(biāo)越界,所要讀取的文件不存在)
3纠屋、設(shè)計(jì)良好的程序應(yīng)該在異常發(fā)生時提供處理這些錯誤的方法涂臣,使得程序不會因?yàn)楫惓5陌l(fā)生而阻斷或者產(chǎn)生不可預(yù)見的結(jié)果,給用戶友好的提示
4售担、怎么處理異常赁遗?你得在程序過程中知道異常在哪里,抓住了異常族铆,才能進(jìn)行處理
Java程序在執(zhí)行過程中吼和,如出現(xiàn)異常事件,可以生成一個異常類對象骑素,該異常對象封裝了異常事件的信息并將被提交給JAVA運(yùn)行時系統(tǒng)炫乓,這個過程稱為拋出(throw)異常。
發(fā)生異常了献丑,會生成一個異常對象末捣,直接拋給Java運(yùn)行時系統(tǒng),Java運(yùn)行時系統(tǒng)默認(rèn)的處理是创橄,直接把異常里面封裝的信息打印到命令行上
當(dāng)Java運(yùn)行時系統(tǒng)接收到了異常對象時箩做,會尋找能處理這一異常的代碼并把當(dāng)前異常對象交給其處理,這一過程稱為捕獲(catch)異常妥畏。
***沒有try不能用catch
5邦邦、try{}? 有可能發(fā)生異常的語句
catch{}? 當(dāng)這些語句發(fā)生之后安吁,我該怎么辦