/* * 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 "到公司
";