/** 1.自定义的异常类,必须是系统类Exception的子类* 如果继承Exception类,重写了构造方法,一定要调用一下父类的构造方法。*/class MyException extends Exception{//必须继承Exception类function __construct($mess){parent::__construct($mess);}function change(){//自定义方法echo '换上备胎';}}
echo "早上起床<br/>";$flag = true;//根据异常情况设置标志位来抛出异常try{echo "开车上班<br/>";if($flag){//抛出异常throw new MyException("车子爆胎");}echo "路况很好<br/>";
}catch(MyException $e){//$e = new Exception();echo $e->getMessage()."<br/>";echo $e->change()."<br/>";//调用自定义类的方法echo "换上备胎,继续开车上班<br/>";
}echo "到公司<br/>";
============================================================================
/** 捕获多个异常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 "物质准备到位<br/>";}function eat($time){if(!$time){throw new NoeatException("无早餐可吃");}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;//根据异常情况设置标志位来抛出异常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 "到公司<br/>";

转载于:https://blog.51cto.com/11410485/1842207

PHP 异常类 Exception 高洛峰 细说PHP相关推荐

  1. php memcache内存大小,PHP memcache 内存缓存 数据库查询 应用 高洛峰 细说PHP

    PHP memcache 内存缓存 数据库查询 应用 高洛峰 细说PHP 发布时间:2020-06-22 18:23:10 来源:51CTO 阅读:232 作者:津沙港湾 栏目:数据库 PHP mem ...

  2. PHP 自定义session储存 数据库 方式类   高洛峰 细说PHP

    自定义session储存 数据库 方式类 在php.ini配置文件中更改设置 (Registered_save_handlers 有三种方式 files user memcache) session. ...

  3. PHP 分页类 高洛峰 细说PHP

    分页类 <?php //分页类class Page{private $total; //总记录数private $nums; //每页显示的条数private $pages; //总页数priv ...

  4. PHP 自定义 Smarty 模板引擎类 高洛峰 细说PHP

    smarty模板引擎类简单工作原理 利用Smarty 模板引擎类对模板文件中的变量进行编译,编译过程其实就是利用正则表达式翻译成PHP文件.例如 模板文件中{$title} 利用正则表达式找到并替换成 ...

  5. 高洛峰ajax分页源码,PHP 分页类 高洛峰 细说PHP

    分页类<?php //分页类 class Page{ private $total;          //总记录数 private $nums;        //每页显示的条数 privat ...

  6. php 高洛峰 正则,PHP 自定义 Smarty 模板引擎类 高洛峰 细说PHP

    smarty模板引擎类简单工作原理 利用Smarty 模板引擎类对模板文件中的变量进行编译,编译过程其实就是利用正则表达式翻译成PHP文件.例如 模板文件中{$title}利用正则表达式找到并替换成 ...

  7. php session 自定义到数据库,PHP 自定义session储存 数据库 方式类   高洛峰 细说PHP...

    自定义session储存 数据库 方式类 在php.ini配置文件中更改设置 (Registered_save_handlers 有三种方式 files user memcache) session. ...

  8. PHP 文件上传类 FileUpload 高洛峰老师 细说PHP

    /**文件名为FileUpload.class.php*将与文件上传相关的成员属性和成员方法声明在一起*/class FileUpload{private $filePath; //保存上传文件将被保 ...

  9. fileupload.class.php,PHP 文件上传类 FileUpload 高洛峰老师 细说PHP

    /* *文件名为FileUpload.class.php *将与文件上传相关的成员属性和成员方法声明在一起 */ class FileUpload{ private $filePath;        ...

最新文章

  1. 1013. 数素数 (20)
  2. xtrabackup增量备份mysql +MHA
  3. boost::math模块使用指定宽度的浮点 typedef估中等复杂的数学函数的测试程序
  4. WCF、WebAPI、WCFREST、WebService之间的区别
  5. JQuery AJAX提交中文乱码的解决方案
  6. 为什么线程池里的方法会执行两次_面试官问你java都有哪些线程池,自己是否自定义过线程池...
  7. readonly与disabled属性在css中区别
  8. 引人瞩目的 CSS 变量(CSS Variable)
  9. android xutil 数据库,Android XUtils3框架的基本使用方法(二)
  10. Java:关于负数的向上转型
  11. linux 编译-l,GCC编译器下的-L与-l的区别
  12. Iphone被刷机后用电信卡提示未激活,移动联通卡可以正常使用
  13. 手机IMSI码规则更新-通过IMSI判断运营商的方法
  14. wpf net6.0 桌面应用程序打包
  15. 树的递归遍历与递归序
  16. 笔记本搜索不到家里路由器WiFi,但可以连接手机热点,而其他设备可以搜索并连接WiFi
  17. 3月16日——3月20日课程表
  18. 鲁班学院-java架构师线上培训机构哪家好
  19. C#毕业设计——基于C#+c+sqlserver的办公耗材库存管理软件设计与实现(毕业论文+程序源码)——库存管理软件
  20. 机器学习中qa测试_机器学习项目测试怎么做?(看实例)

热门文章

  1. ref和out的区别
  2. 动网论坛数据库字段表说明
  3. 【OpenCV】图片操作小结:RAW图转image以及image连续保存
  4. google的gn构建系统
  5. ATT与Intel汇编语言的比较
  6. Linux时间转化方法
  7. C语言的32个关键字
  8. OpenFace库(Tadas Baltrusaitis)中基于HOG进行正脸人脸检测的测试代码
  9. 【Qt】QObject::moveToThread 总结
  10. 【ubuntu工具】bless:二进制查看工具,类似win下的UltraEdit