<?php
//创建四个exception的子类,每个子类中分别有一个可以解决异常问题的方法
class wcexception extends exception{
function pro(){
echo "去公厕上厕所<br>";
}
}
class noexception extends exception{
function pro(){
echo "去公司附近吃早餐<br>";
}
}
class gsexception extends exception{
function pro(){
echo "走普通的公路<br>";
}
}
class luexception extends exception{
function pro(){
echo "换上备胎<br>";
}
}
//定义一个类,包含四种方法对应四种行为,用条件判断如果行为有异常则抛出异常
class dm{
function gowc($bj){
if(!$bj){
throw new wcexception("倒霉催的,厕所坏了<br>");
}
echo "上厕所顺利<br>";
}
function zc($time){
if(!$time){
throw new noexception("没时间吃早餐了<br>");
}
echo "早餐很好吃<br>";
}
function sgs($xx){
if(!$xx){
throw new gsexception("下雪高速封路<br>");
}
echo "上高速很顺利<br>";
}
function drive($dz){
if(!$dz)
throw new luexception("车子爆胎了<br>");
echo "开车一路顺利<br>";
}
}
echo "早上起床!<br>";
try{
//创建一个对象,下面调用四个方法分别对应四种可能导致异常的行为
$ob=new dm();
//上厕所
$ob->gowc(true);
//吃早餐
$ob->zc(true);
//上高速
$ob->sgs(false);
//开车
$ob->drive(false);
}
//一个try可以对应多个catch
catch(wcexception $e){
echo $e->getmessage();
$e->pro();
}
catch(noexception $e){
echo $e->getmessage();
$e->pro();
}
catch(gsexception $e){
echo $e->getmessage();
$e->pro();
}
//最后一个catch中可以不用exception的子类,这样可以用来捕获漏网之鱼,但不能写出解决方案;
catch(exception $e){
echo $e->getmessage();
$e->pro();
}
echo "到公司开始工作<br>";
?>
//创建四个exception的子类,每个子类中分别有一个可以解决异常问题的方法
class wcexception extends exception{
function pro(){
echo "去公厕上厕所<br>";
}
}
class noexception extends exception{
function pro(){
echo "去公司附近吃早餐<br>";
}
}
class gsexception extends exception{
function pro(){
echo "走普通的公路<br>";
}
}
class luexception extends exception{
function pro(){
echo "换上备胎<br>";
}
}
//定义一个类,包含四种方法对应四种行为,用条件判断如果行为有异常则抛出异常
class dm{
function gowc($bj){
if(!$bj){
throw new wcexception("倒霉催的,厕所坏了<br>");
}
echo "上厕所顺利<br>";
}
function zc($time){
if(!$time){
throw new noexception("没时间吃早餐了<br>");
}
echo "早餐很好吃<br>";
}
function sgs($xx){
if(!$xx){
throw new gsexception("下雪高速封路<br>");
}
echo "上高速很顺利<br>";
}
function drive($dz){
if(!$dz)
throw new luexception("车子爆胎了<br>");
echo "开车一路顺利<br>";
}
}
echo "早上起床!<br>";
try{
//创建一个对象,下面调用四个方法分别对应四种可能导致异常的行为
$ob=new dm();
//上厕所
$ob->gowc(true);
//吃早餐
$ob->zc(true);
//上高速
$ob->sgs(false);
//开车
$ob->drive(false);
}
//一个try可以对应多个catch
catch(wcexception $e){
echo $e->getmessage();
$e->pro();
}
catch(noexception $e){
echo $e->getmessage();
$e->pro();
}
catch(gsexception $e){
echo $e->getmessage();
$e->pro();
}
//最后一个catch中可以不用exception的子类,这样可以用来捕获漏网之鱼,但不能写出解决方案;
catch(exception $e){
echo $e->getmessage();
$e->pro();
}
echo "到公司开始工作<br>";
?>