set_exception_handler函数在ThinkPHP中的用法


Posted in PHP onOctober 31, 2014

本文实例讲述了set_exception_handler函数在ThinkPHP中的用法。分享给大家供大家参考。具体方法如下:

函数:

string set_exception_handler ( callback $exception_handler )

定义和用法:
set_exception_handler() 函数设置用户自定义的异常处理函数。
该函数用于创建运行时期间的用户自己的异常处理方法。
该函数会返回旧的异常处理程序,若失败,则返回 null。

语法:
set_exception_handler(exception_function)

参数 描述
error_function 必需。规定未捕获的异常发生时调用的函数。 该函数必须在调用 set_exception_handler() 函数之前定义。 这个异常处理函数需要需要一个参数,即抛出的 exception 对象。

提示和注释:

提示:在这个异常处理程序被调用后,脚本会停止执行。

同样是在看TP代码的时候发现的这个函数,就想不明白了,自己以前咋就没关心过这些东西呢?(捶胸顿足ing。。。)
继续来看一下TP是怎么实现的,呃,为啥一定要用TP呢,嗯。那好吧,一会儿我把手册的例子也搬过来。

public function appException($e)

{

        halt($e->__toString());

}

set_exception_handler(array(&$this,"appException"));

呵呵,这个简单吧?因为我没有给出halt这个方法的实现,这样就足够了。
再看手册中的例子,
function exception_handler($exception) {

  echo "Uncaught exception: " , $exception->getMessage(), "n";

}

set_exception_handler('exception_handler');

throw new Exception('Uncaught Exception');

echo "Not Executedn";

其实呢,set_exception_handler就是设置了一下,当你的程序需要抛出一个异常的时候调用哪个自定义的函数。
就这么简单

注意事项:
set_exception_handler(“myException”) 不仅可以接受函数,还可以接受 类的方法(公开的静态方法 及 公开的非静态方法 都可以),但需要以 数组形式 传递,数组的第一值为“类名”,第二个参数为“方法名”

希望本文所述对大家的ThinkPHP框架程序设计有所帮助。

PHP 相关文章推荐
PHP模板引擎SMARTY
Oct 09 PHP
建立动态的WML站点(一)
Oct 09 PHP
php安全开发 添加随机字符串验证,防止伪造跨站请求
Feb 14 PHP
修改WordPress中文章编辑器的样式的方法详解
Dec 15 PHP
PHP实现图片上传并压缩
Dec 22 PHP
PHP使用自定义方法实现数组合并示例
Jul 07 PHP
PHP图形计数器程序显示网站用户浏览量
Jul 20 PHP
phpMyAdmin无法登陆的解决方法
Apr 27 PHP
PHP基于imagick扩展实现合成图片的两种方法【附imagick扩展下载】
Nov 14 PHP
微信公众平台开发教程③ PHP实现微信公众号支付功能图文详解
Apr 10 PHP
PHP如何通过date() 函数格式化显示时间
Nov 13 PHP
php 原生分页
Apr 01 PHP
php使用fopen创建utf8编码文件的方法
Oct 31 #PHP
php结合js实现点击超链接执行删除确认操作
Oct 31 #PHP
PHP页面实现定时跳转的方法
Oct 31 #PHP
Thinkphp多文件上传实现方法
Oct 31 #PHP
Laravel 4 初级教程之Pages、表单验证
Oct 30 #PHP
Laravel 4 初级教程之视图、命名空间、路由
Oct 30 #PHP
Laravel 4 初级教程之安装及入门
Oct 30 #PHP
You might like
PHP中extract()函数的定义和用法
2012/08/17 PHP
如何在php中正确的使用json
2013/08/06 PHP
Codeigniter整合Tank Auth权限类库详解
2014/06/12 PHP
PHP中$this和$that指针使用实例
2015/01/06 PHP
PHP异常处理Exception类
2015/12/11 PHP
PHP+MySQL统计该库中每个表的记录数并按递减顺序排列的方法
2016/02/15 PHP
PHP自动识别当前使用移动终端
2018/05/21 PHP
laravel 使用事件系统统计浏览量的实现
2019/10/16 PHP
javascript 混合的构造函数和原型方式,动态原型方式
2009/12/07 Javascript
Javascript 键盘事件的组合使用实现代码
2012/05/04 Javascript
JavaScript获取图片的原始尺寸以宽度为例
2014/05/04 Javascript
nodejs文件操作模块FS(File System)常用函数简明总结
2014/06/05 NodeJs
JavaScript实现动态添加,删除行的方法实例详解
2015/07/02 Javascript
AngualrJS中每次$http请求时的一个遮罩层Directive
2016/01/26 Javascript
vue,angular,avalon这三种MVVM框架优缺点
2016/04/27 Javascript
JavaScript中boolean类型之三种情景实例代码
2016/11/21 Javascript
jQuery Ajax实现跨域请求
2017/01/21 Javascript
JS实现的二叉树算法完整实例
2017/04/06 Javascript
详解如何用VUE写一个多用模态框组件模版
2018/09/27 Javascript
微信小程序页面渲染实现方法
2019/11/06 Javascript
JavaScript回调函数callback用法解析
2020/01/14 Javascript
vue使用swiper实现左右滑动切换图片
2020/10/16 Javascript
解决python ogr shp字段写入中文乱码的问题
2018/12/31 Python
Flask和pyecharts实现动态数据可视化
2020/02/26 Python
使用 Python 遍历目录树的方法
2020/02/29 Python
python数字类型math库原理解析
2020/03/02 Python
Python Tkinter图形工具使用方法及实例解析
2020/06/15 Python
python安装读取grib库总结(推荐)
2020/06/24 Python
OpenCV 使用imread()函数读取图片的六种正确姿势
2020/07/09 Python
html2 canvas生成清晰的图片实现打印功能
2019/09/23 HTML / CSS
linux面试题参考答案(7)
2012/10/29 面试题
生产部管理制度
2014/01/31 职场文书
教师绩效工资方案
2014/02/01 职场文书
债务纠纷代理词
2015/05/25 职场文书
反腐倡廉学习心得体会范文
2015/08/15 职场文书
分享3个非常实用的 Python 模块
2022/03/03 Python