set_exception_handler函数在ThinkPHP中的用法_php实例

本文实例讲述了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框架程序设计有所帮助。

时间: 2024-10-06 06:15:27

set_exception_handler函数在ThinkPHP中的用法_php实例的相关文章

ThinkPHP中redirect用法分析_php实例

本文实例讲述了ThinkPHP中redirect用法.分享给大家供大家参考.具体分析如下: redirect 重定向的通用语法为:redirect(url,params=array(),delay=0,msg=''),假设当前为默认 HOME分组 Aritcle模块 insert操作,一些例子如下: 复制代码 代码如下: // 跳转到 edit 操作   $this->redirect('edit');   // 跳转到 UserAction下的edit 操作   $this->redirec

thinkPHP中分页用法实例分析_php实例

本文实例讲述了thinkPHP中分页用法.分享给大家供大家参考,具体如下: 拿一个实例来说吧 action页面: public function show(){ import("ORG.Util.Page"); //导入分页类 $news=D("News"); $count = $news->where('`content_type`='.$id)->count(); //查询记录的总条数 $p = new Page($count, 10); $list

ThinkPHP中I(),U(),$this->post()等函数用法_php实例

本文实例讲述了ThinkPHP中I(),U(),$this->post()等函数的用法.分享给大家供大家参考.具体方法如下: 在ThinkPHP中在控制器中接受表单的数据可以使用如下方法: 1.$_POST[]/$_GET[],但是这个接受的表单内容不会通过htmlspecialchars();函数进行过滤.如果想使用这个接收数据,需要手动处理表单数据 2.可以用接收表单函数 复制代码 代码如下: $this->_post();$this->_get();,这个函数默认就会使用htmls

php htmlentities()函数的定义和用法_php实例

php htmlentities() 函数把字符转换为 HTML 实体,本文章向码农介绍php htmlentities() 函数基本使用方法和实例介绍,需要的码农可以参考一下. 定义和用法 htmlentities() 函数把字符转换为 HTML 实体. 提示:要把 HTML 实体转换回字符,请使用 html_entity_decode() 函数. 提示:请使用 get_html_translation_table() 函数来返回 htmlentities() 使用的翻译表. 语法 htmle

Android中SurfaceView用法简单实例_Android

本文实例讲述了Android中SurfaceView用法.分享给大家供大家参考,具体如下: 这里贴上一个小程序代码,主要运用SurfaceView来实现在屏幕上画一个圆,你可以通过按方向键和触摸屏幕来改变圆的位置 代码: Activity: package com.view; import android.app.Activity; import android.os.Bundle; import android.view.Window; import android.view.WindowMa

使用PHP实现下载CSS文件中的图片_php实例

作为一个资深并且专业的扒皮人员,在我从初三开始投入伟大的互联网中到现在积累了丰富的扒皮经验.我相信每个做web的程序员也都会有类似的经历. 在扒皮过程中,必不可少的需要下载样式文件中的图片.碰到比较庞大的样式文件,其中可能会有上百个需要下载的图片,那么使用下面这段小代码是最为合适的了. < ?php /* More & Original PHP Framwork Copyright (c) 2007 - 2008 IsMole Inc. Author: kimi Documentation:

ThinkPHP数据操作方法总结_php实例

本文实例总结了ThinkPHP数据操作方法.分享给大家供大家参考.具体如下: 一.ThinkPHP Insert 添加数据 ThinkPHP 内置的 add 方法用于向数据表添加数据,相当于 SQL 中的 INSERT INTO 行为. 添加数据 add 方法是 CURD(Create,Update,Read,Delete / 创建,修改,读取,删除)中的 Create 的实现,ThinkPHP 支持以普通数组方式和面向对象方式将数据写入数据表. 现在以<PHP MySQL 数据库教程>中操作

Android中SurfaceView用法简单实例

本文实例讲述了Android中SurfaceView用法.分享给大家供大家参考,具体如下: 这里贴上一个小程序代码,主要运用SurfaceView来实现在屏幕上画一个圆,你可以通过按方向键和触摸屏幕来改变圆的位置 代码: Activity: package com.view; import android.app.Activity; import android.os.Bundle; import android.view.Window; import android.view.WindowMa

python中管道用法入门实例

  本文实例讲述了python中管道用法.分享给大家供大家参考.具体如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 #!coding=utf-8 import multiprocessing def consumer(pipe): output_p , input_p = pipe input_p.close() #关闭管道的输入端 while True: try: