扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
小编给大家分享一下PHP如何自定义异常类,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
创新互联建站主要从事成都做网站、网站建设、网页设计、企业做网站、公司建网站等业务。立足成都服务大余,十载网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18980820575
/* * 1.自定义的异常类,必须是系统类Exception的子类 * 如果继承Exception类,重写了构造方法,一定要调用一下父类的构造方法。 */ class MyException extends Exception{//必须继承Exception类 function __construct($mess){ parent::__construct($mess); } function change(){//自定义方法 echo '换上备胎'; } } echo "早上起床
"; $flag = true;//根据异常情况设置标志位来抛出异常 try{ echo "开车上班
"; if($flag){ //抛出异常 throw new MyException("车子爆胎"); } echo "路况很好
"; }catch(MyException $e){//$e = new Exception(); echo $e->getMessage()."
"; echo $e->change()."
";//调用自定义类的方法 echo "换上备胎,继续开车上班
"; } echo "到公司
"; ============================================================================ /* * 捕获多个异常catch */ class WcException extends Exception{ function methodWc(){ echo "去公厕"; } } class NoeatException extends Exception{ function methodEat(){ echo "买个面包"; } } class NutException extends Exception{ function methodGowork(){ echo "换个轮胎"; } } class SnowException extends Exception{ function methodHighway(){ echo "走小路"; } } class Badday{ function gowc($flag){ if(!$flag){ throw new WcException("马桶坏了"); } echo "物质准备到位
"; } function eat($time){ if(!$time){ throw new NoeatException("无早餐可吃"); } echo "吃很饱
"; } function gowork($nut){ if(!$nut){ throw new NutException("扎到钉子了"); } echo "去上班啦!
"; } function highway($snow){ if(!$snow){ throw new SnowException("下雪封路了"); } echo "走高速
"; } } echo "早上起床
"; $flag = false;//根据异常情况设置标志位来抛出异常 try{ $badday = new Badday(); //1.上厕所(马桶不好用了) 去公厕 $badday->gowc(true); //2.吃早餐(没有早点了) 买个面包 $badday->eat(false); //3.开车上班(爆胎) 换胎 $badday->gowork(true); //4.上高速(下雪了) 走国道 $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 "到公司
";
以上是“PHP如何自定义异常类”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流