您好,登錄后才能下訂單哦!
小編給大家分享一下PHP如何自定義異常類(lèi),相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
/* * 1.自定義的異常類(lèi),必須是系統(tǒng)類(lèi)Exception的子類(lèi) * 如果繼承Exception類(lèi),重寫(xiě)了構(gòu)造方法,一定要調(diào)用一下父類(lèi)的構(gòu)造方法。 */ class MyException extends Exception{//必須繼承Exception類(lèi) function __construct($mess){ parent::__construct($mess); } function change(){//自定義方法 echo '換上備胎'; } } echo "早上起床<br/>"; $flag = true;//根據(jù)異常情況設(shè)置標(biāo)志位來(lái)拋出異常 try{ echo "開(kāi)車(chē)上班<br/>"; if($flag){ //拋出異常 throw new MyException("車(chē)子爆胎"); } echo "路況很好<br/>"; }catch(MyException $e){//$e = new Exception(); echo $e->getMessage()."<br/>"; echo $e->change()."<br/>";//調(diào)用自定義類(lèi)的方法 echo "換上備胎,繼續(xù)開(kāi)車(chē)上班<br/>"; } echo "到公司<br/>"; ============================================================================ /* * 捕獲多個(gè)異常catch */ class WcException extends Exception{ function methodWc(){ echo "去公廁"; } } class NoeatException extends Exception{ function methodEat(){ echo "買(mǎi)個(gè)面包"; } } class NutException extends Exception{ function methodGowork(){ echo "換個(gè)輪胎"; } } class SnowException extends Exception{ function methodHighway(){ echo "走小路"; } } class Badday{ function gowc($flag){ if(!$flag){ throw new WcException("馬桶壞了"); } echo "物質(zhì)準(zhǔn)備到位<br/>"; } function eat($time){ if(!$time){ throw new NoeatException("無(wú)早餐可吃"); } echo "吃很飽<br/>"; } function gowork($nut){ if(!$nut){ throw new NutException("扎到釘子了"); } echo "去上班啦!<br/>"; } function highway($snow){ if(!$snow){ throw new SnowException("下雪封路了"); } echo "走高速<br/>"; } } echo "早上起床<br/>"; $flag = false;//根據(jù)異常情況設(shè)置標(biāo)志位來(lái)拋出異常 try{ $badday = new Badday(); //1.上廁所(馬桶不好用了) 去公廁 $badday->gowc(true); //2.吃早餐(沒(méi)有早點(diǎn)了) 買(mǎi)個(gè)面包 $badday->eat(false); //3.開(kāi)車(chē)上班(爆胎) 換胎 $badday->gowork(true); //4.上高速(下雪了) 走國(guó)道 $badday->highway(true); }catch(WcException $e){ echo $e->methodWc(); }catch (NoeatException $e){ echo $e->methodEat(); }catch(NutException $e){ echo $e->methodGowork(); }catch(SnowException $e){ echo $e->methodHighway(); }catch (Exception $e){ echo $e->getMessage(); } echo "到公司<br/>";
以上是“PHP如何自定義異常類(lèi)”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。