php异常处理使用示例


Posted in PHP onFebruary 25, 2014
<?php
//禁止错误输出
error_reporting(0);
//设置错误处理器
set_error_handler('errorHandler');
register_shutdown_function('fatalErrorHandler');
class Test{
public function index(){
//这里发生一个警告错误,出发errorHandler 
echo $undefinedVarible;
}
}
function errorHandler($errno,$errstr,$errfile,$errline){
 $arr = array(
 '['.date('Y-m-d h-i-s').']',
 'http://www.baidu.com',
 '|',
 $errstr,
 $errfile,
 'line:'.$errline,
 );
 //写入错误日志
//格式 :  时间 uri | 错误消息 文件位置 第几行
 error_log(implode(' ',$arr)."\r\n",3,'./test.txt','extra');
 echo implode(' ',$arr)."\r\n";
}
//捕获fatalError
function fatalErrorHandler(){
 $e = error_get_last();
 switch($e['type']){
 case E_ERROR:
 case E_PARSE:
 case E_CORE_ERROR:
 case E_COMPILE_ERROR:
 case E_USER_ERROR:
  errorHandler($e['type'],$e['message'],$e['file'],$e['line']);
  break; 
}
}
$test = new Test();
////这里发生一个警告错误,被errorHandler 捕获
$test->index();
//发生致命错误,脚本停止运行触发 fatalErrorHandler 
$test = new Tesdt();
$test->index();
 
PHP 相关文章推荐
PHP得到mssql的存储过程的输出参数功能实现
Nov 23 PHP
基于PHP读取csv文件内容的详解
Jun 18 PHP
浅析memcache启动以及telnet命令详解
Jun 28 PHP
一组PHP可逆加密解密算法实例代码
Jan 21 PHP
thinkphp实现数组分页示例
Apr 13 PHP
WordPress中Gravatar头像缓存到本地及相关优化的技巧
Dec 19 PHP
PHP中strnatcmp()函数“自然排序算法”进行字符串比较用法分析(对比strcmp函数)
Jan 07 PHP
Laravel框架用户登陆身份验证实现方法详解
Sep 14 PHP
PHP高效获取远程图片尺寸和大小的实现方法
Oct 20 PHP
php使用pecl方式安装扩展操作示例
Aug 12 PHP
Laravel获取所有的数据库表及结构的方法
Oct 10 PHP
再谈Yii Framework框架中的事件event原理与应用
Apr 07 PHP
php反射应用示例
Feb 25 #PHP
php数组去重复数据示例
Feb 25 #PHP
php分页函数示例代码分享
Feb 24 #PHP
php对数组排序代码分享
Feb 24 #PHP
php判断ip黑名单程序代码实例
Feb 24 #PHP
thinkphp的c方法使用示例
Feb 24 #PHP
php根据操作系统转换文件名大小写的方法
Feb 24 #PHP
You might like
JAVA/JSP学习系列之二
2006/10/09 PHP
PHP生成月历代码
2007/06/14 PHP
修改ThinkPHP缓存为Memcache的方法
2014/06/25 PHP
PHP实现类似题库抽题效果
2018/08/16 PHP
PHP 超级全局变量相关总结
2020/06/30 PHP
Js 订制自己的AlertBox(信息提示框)
2009/01/09 Javascript
jquery控制listbox中项的移动并排序
2009/11/12 Javascript
jquery键盘事件介绍
2011/01/31 Javascript
javascript图像处理—仿射变换深度理解
2013/01/16 Javascript
JS实现的省份级联实例代码
2013/06/24 Javascript
javascript文本框内输入文字倒计数的方法
2015/02/24 Javascript
简单实现兼容各大浏览器的js复制内容到剪切板
2015/09/09 Javascript
AngularJS模块学习之Anchor Scroll
2016/01/19 Javascript
Angularjs手动解析表达式($parse)
2016/10/12 Javascript
js实现时间轴自动排列效果
2017/03/09 Javascript
Vue.js教程之axios与网络传输的学习实践
2017/04/29 Javascript
jquery获取元素到屏幕四周可视距离的方法
2018/09/05 jQuery
新手入门带你学习JavaScript引擎运行原理
2019/06/24 Javascript
JavaScript实现的3D旋转魔方动画效果实例代码
2019/07/31 Javascript
JavaScript实现文件下载并重命名代码实例
2019/12/12 Javascript
Python中使用动态变量名的方法
2014/05/06 Python
快速了解python leveldb
2018/01/18 Python
Python中常用的8种字符串操作方法
2019/05/06 Python
python实现在函数中修改变量值的方法
2019/07/16 Python
Django实现将views.py中的数据传递到前端html页面,并展示
2020/03/16 Python
keras 获取某层输出 获取复用层的多次输出实例
2020/05/23 Python
Tensorflow加载Vgg预训练模型操作
2020/05/26 Python
matplotlib.pyplot.plot()参数使用详解
2020/07/28 Python
激励口号大全
2014/06/17 职场文书
环境保护建议书
2014/08/26 职场文书
忠诚教育心得体会
2014/09/03 职场文书
员工辞职信范文大全
2015/05/12 职场文书
2016全国“质量月”活动标语口号
2015/12/26 职场文书
《平行四边形的面积》教学反思
2016/02/16 职场文书
导游词之吉林吉塔
2019/11/11 职场文书
Android自定义双向滑动控件
2022/04/19 Java/Android