PHP异常处理函数set_exception_handler()的用法
定义和用法
set_exception_handler() 函数设置用户自定义的异常处理函数。
该函数用于创建运行时期间的用户自己的异常处理方法。
该函数会返回旧的异常处理程序,若失败,则返回 null。
语法
set_exception_handler(exception_function)
| 参数 | 描述 |
|---|---|
| error_function | 必需。规定未捕获的异常发生时调用的函数。 该函数必须在调用 set_exception_handler() 函数之前定义。 这个异常处理函数需要需要一个参数,即抛出的 exception 对象。 |
提示和注释
提示:在这个异常处理程序被调用后,脚本会停止执行。
例子
<?php
function myException($exception) {
echo "<b>Exception:</b> " , $exception->getMessage();
} set_exception_handler('myException'); throw new Exception('Uncaught Exception occurred');
?>
输出:
Exception: Uncaught Exception occurred
需要注意的是:
set_exception_handler(“myException”) 不仅可以接受函数,还可以接受 类的方法(公开的静态方法 及 公开的非静态方法 都可以),但需要以 数组形式 传递,数组的第一值为“类名”,第二个参数为“方法名”,如下代码所示:
<?php
class App{
function myException($exception) {
echo "<b>Exception:</b> " , $exception->getMessage();
}
} set_exception_handler(array('App','myException')); throw new Exception('Uncaught Exception occurred');
?>
延伸阅读:
PHP错误处理函数set_error_handler()的用法
PHP异常处理函数set_exception_handler()的用法的更多相关文章
- PHP错误处理函数set_error_handler()的用法
定义和用法 set_error_handler() 函数设置用户自定义的错误处理函数. 该函数用于创建运行时期间的用户自己的错误处理方法. 该函数会返回旧的错误处理程序,若失败,则返回 null. 语 ...
- C语言函数sscanf()的用法
从文件读取数据是一件很麻烦的事,所幸有sscanf()函数. C语言函数sscanf()的用法 sscanf() - 从一个字符串中读进与指定格式相符的数据. 函数原型: int sscanf( st ...
- _set_invalid_parameter_handler异常处理函数
VS2005之后的版本,微软增加了一些新的异常机制,新机制在出现错误时默认不通知应用程序,这时程序就崩溃了.所以这种情况下,必须调用_set_invalid_parameter_handler._se ...
- c语言学习之基础知识点介绍(八):函数的基本用法
本节开始说函数. 一.函数的基本用法 /* 作用:可以实现代码的复用,在一定程度上解决代码冗余的问题:方便后期维护. 语法: void 函数名(){ 函数体; } 函数命名要有意义,遵守驼峰命名法. ...
- ROW_NUMBER() OVER函数的基本用法用法
ROW_NUMBER() OVER函数的基本用法用法 转自:http://www.cnblogs.com/icebutterfly/archive/2009/08/05/1539657.html 语法 ...
- C++虚函数的新用法
1.今天在segmentfault上看到了一个C++虚函数的新用法,先上代码 #include <iostream> using namespace std; class B { publ ...
- JAVA中字符串函数subString的用法小结
本篇文章主要是对JAVA中字符串函数subString的用法进行了详细的介绍,需要的朋友可以过来参考下,希望对大家有所帮助 String str; str=str.substring(int begi ...
- Python正则替换字符串函数re.sub用法示例(1)
本文实例讲述了Python正则替换字符串函数re.sub用法.分享给大家供大家参考,具体如下: python re.sub属于python正则的标准库,主要是的功能是用正则匹配要替换的字符串然后把它替 ...
- Kotlin入门(9)函数的基本用法
上一篇文章介绍了Kotlin新增的空安全机制,控制语句部分可算是讲完了,接下来将连续描述Kotlin如何定义和调用函数,本篇文章先介绍函数的基本用法. 前面几篇文章介绍控制语句之时,在setOnCli ...
随机推荐
- MySql 存储过程、触发器和权限问题
存储过程 1.1 什么是存储过程 存储过程,带有逻辑的sql语句 之前的sql没有条件判断,没有循环 存储过程带上流程控制语句(if while) 1.2 存储过程特点 1)执行效率非常快!存储过程 ...
- python 类属性与方法
Python 类属性与方法 标签(空格分隔): Python Python的访问限制 Python支持面向对象,其对属性的权限控制通过属性名来实现,如果一个属性有双下划线开头(__),该属性就无法被外 ...
- ffmpeg.exe dos下怎么用 放在哪里
系统:windows 7 1.先看dos界面,win7下这里输入cmd, 看路径 2.把下载的ffmpeg.exe复制到这个路径下 3.这就可以用命令了 1.mp4说明这个文件是跟ffmpeg.ex ...
- ZooKeeper 笔记(5) ACL(Access Control List)访问控制列表
zk做为分布式架构中的重要中间件,通常会在上面以节点的方式存储一些关键信息,默认情况下,所有应用都可以读写任何节点,在复杂的应用中,这不太安全,ZK通过ACL机制来解决访问权限问题,详见官网文档:ht ...
- 基于xml的Spring多数据源配置和使用
上一篇讲了<基于注解的Spring多数据源配置和使用>,通过在类或者方法上添加@DataSource注解就可以指定某个数据源.这种方式的优点是控制粒度细,也更灵活. 但是当有些时候项目分模 ...
- 踩坑所引发出的appendChild方法的介绍
问题描述 最近在做项目时,遇到一个问题,当js生成一个组件后,会注入到页面的某个节点里显示.在组件内部进行了一次注入操作,在调用组件的外部js文件中也进行了一次注入操作,结果发现页面里只生成了一份组件 ...
- AppBox升级进行时 - 扁平化的权限设计
AppBox 是基于 FineUI 的通用权限管理框架,包括用户管理.职称管理.部门管理.角色管理.角色权限管理等模块. AppBox v2.0中的权限实现 AppBox v2.0中权限管理中涉及三个 ...
- 数学的东西(BZOJ1951)
#include <cstdio> #define LL long long LL finmo=; LL fac[][],inv[][]; LL tmp[],rev[]; LL n,g,x ...
- JavaScript类库---JQuery(二)
接上: 6.Ajax: 一个基础底层函数:jQuery.ajax(); //高级工具函数都会调用此函数: 一个高级工具方法:load() ; 四个高级工具函数:jQuery.getScript ...
- winform采集网站美女图片程序---多线程篇
设定思路: 采集目标: http://www.8kmm.com, 已知网址列表(List保存), 应用多线程(Thread)读取该列表, 获取url时不能重复(加锁Lock). 允许无序采集! ...