php异常处理技术,顶级异常处理器


Posted in PHP onJune 13, 2012

定义顶级异常处理器用到的函数是
set_exception_handler("My_exception");
这里的My_expection是开发者自定义的异常处理函数,既顶级异常处理器,只有当程序中没有函数来处理异常才有顶级异常处理器来处理异常,如果没有定义顶级异常处理器,则由系统默认的异常处理器来处理异常

举例说明:

<meta http-equiv="content-type" content="text/html;charset=utf-8" /><?php 
set_exception_handler("My_expection"); 
function My_expection(){ 
echo "这里是顶级异常处理器"; 
} 
try{ 
nohello("hello"); 
}catch(Exception $e){ 
throw $e; 
} 
function nohello($nohello){ 

 if($nohello == "hello"){ 

 throw new Exception("不能输入hello"); 

 }else{ 
echo "输入成功"; 
} 
} 
?>

关于PHP异常处理 的一个问题
<?php 
try { 
$a=10/0; 
}catch (Exception $e){ 
echo "抛出异常"; 
} 
?>

以上代码,并不会输出“抛出异常”,而是输出了错误信息:Warning: Division by zero in......

说明:try块中并没有抛出异常,而是按照系统默认的错误处理机制进行处理

所以能不能捕获到异常,取决于有没有真正的抛出异常

PHP 相关文章推荐
xml+php动态载入与分页
Oct 09 PHP
PHP取进制余数函数代码
Jan 19 PHP
php中将汉字转换成拼音的函数代码
Sep 08 PHP
用Simple Excel导出xls实现方法
Dec 06 PHP
php调用nginx的mod_zip模块打包ZIP文件
Jun 11 PHP
PHP Session机制简介及用法
Aug 19 PHP
PHP文件锁函数flock()详细介绍
Nov 18 PHP
Laravel 5框架学习之向视图传送数据
Apr 08 PHP
php PDO实现的事务回滚示例
Mar 23 PHP
JS+PHP实现用户输入数字后显示最大的值及所在位置
Jun 19 PHP
phpStudy配置多站点多域名和多端口的方法
Sep 01 PHP
PHP For循环字母A-Z当超过26个字母时输出AA,AB,AC
Feb 16 PHP
PHP的异常处理类Exception的使用及说明
Jun 13 #PHP
PHP抽象类 介绍
Jun 13 #PHP
MySQL 日期时间函数常用总结
Jun 12 #PHP
PHP简洁函数(PHP简单明了函数语法)
Jun 10 #PHP
php数字游戏 计算24算法
Jun 10 #PHP
细谈php中SQL注入攻击与XSS攻击
Jun 10 #PHP
逆序二维数组插入一元素的php代码
Jun 08 #PHP
You might like
PHP 远程文件管理,可以给表格排序,遍历目录,时间排序
2009/08/07 PHP
ThinkPHP3.0略缩图不能保存到子目录的解决方法
2012/09/30 PHP
PHP使用Pear发送邮件(Windows环境)
2016/01/05 PHP
详解PHP中foreach的用法和实例
2016/10/25 PHP
PHP静态成员变量和非静态成员变量详解
2017/02/14 PHP
php连接MSsql server的五种方法总结
2018/03/04 PHP
Laravel 实现Controller向blade前台模板赋值的四种方式小结
2019/10/22 PHP
背景图跟随鼠标移动的Mootools插件实现代码
2011/12/12 Javascript
JavaScript获取和设置CheckBox状态的简单方法
2013/07/05 Javascript
js跑步算法的实现代码
2013/12/04 Javascript
Eclipse下jQuery文件报错出现错误提示红叉
2014/01/13 Javascript
AngularJS 实现按需异步加载实例代码
2015/10/18 Javascript
举例讲解JavaScript中将数组元素转换为字符串的方法
2015/10/25 Javascript
JS实现的自定义水平滚动字体插件完整实例
2016/06/17 Javascript
angular实现商品筛选功能
2017/02/01 Javascript
js实现从左向右滑动式轮播图效果
2017/07/07 Javascript
以BootStrap Tab为例写一个前端组件
2017/07/25 Javascript
ES6 迭代器(Iterator)和 for.of循环使用方法学习(总结)
2018/02/08 Javascript
基于Vue 2.0 监听文本框内容变化及ref的使用说明介绍
2018/08/24 Javascript
Angularjs实现数组随机排序的方法
2018/10/02 Javascript
浅谈监听单选框radio改变事件(和layui中单选按钮改变事件)
2019/09/10 Javascript
js计算最大公约数和最小公倍数代码实例
2019/09/11 Javascript
swiper实现异形轮播效果
2019/11/28 Javascript
Openlayers实现距离面积测量
2020/09/28 Javascript
[04:12]第二届DOTA2亚洲邀请赛选手传记-Newbee.Sccc
2017/04/03 DOTA
python静态方法实例
2015/01/14 Python
Python isinstance函数介绍
2015/04/14 Python
浅谈配置OpenCV3 + Python3的简易方法(macOS)
2018/04/02 Python
Python计算时间间隔(精确到微妙)的代码实例
2019/02/26 Python
Python定时任务APScheduler的实例实例详解
2019/07/22 Python
浅谈Python中re.match()和re.search()的使用及区别
2020/04/14 Python
Html5 canvas实现粒子时钟的示例代码
2018/09/06 HTML / CSS
英国医生在线预约:Top Doctors
2019/10/30 全球购物
党员批评与自我批评材料
2014/10/14 职场文书
2014年客房服务员工作总结
2014/11/18 职场文书
研究生简历自我评
2015/03/11 职场文书