在 try 代碼塊中執(zhí)行代碼,并根據(jù)需要通過(guò) throw 來(lái)拋出異常。
每一個(gè) throw 對(duì)應(yīng)一個(gè) catch , try 代碼塊中通過(guò)throw拋出的異常會(huì)被 catch 代碼塊接收到,并創(chuàng)建一個(gè)包含異常信息的對(duì)象 ($e)。
通過(guò)從這個(gè) exception 對(duì)象調(diào)用 $e->getMessage(),輸出來(lái)自該異常的錯(cuò)誤消息。
使用try catch是因?yàn)镻HP中的異常處理機(jī)制,可以把可能出錯(cuò)的代碼段放在try中,如果報(bào)錯(cuò)就直接拋出異常,不會(huì)影響try catch代碼后的執(zhí)行。
比如 舉個(gè)例子
try { // TODO // 執(zhí)行時(shí)會(huì)出錯(cuò)的語(yǔ)句... echo '呵呵呵呵'; } catch(Exception $e) { echo '錯(cuò)誤:'.$e->getMessage(); } echo 'RUN';//這句會(huì)執(zhí)行,即使拋出異常,也不會(huì)影響后面的流程,也就是try catch讓異常變得可控制
注:當(dāng) try 代碼塊執(zhí)行到了 throw 后,try代碼塊不會(huì)再繼續(xù)執(zhí)行,轉(zhuǎn)而調(diào)到 catch 代碼塊,與函數(shù)封裝中的 return 有相似作用。
最后,異常處理能提高程序的健壯性,增強(qiáng)可維護(hù)性,有利于異常的集中處理,從而保證程序的可靠性。