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 相关文章推荐
使用TinyButStrong模板引擎来做WEB开发
Mar 16 PHP
php环境下利用session防止页面重复刷新的具体实现
Jan 09 PHP
ThinkPHP的L方法使用简介
Jun 18 PHP
php+MySQL判断update语句是否执行成功的方法
Aug 28 PHP
php中HTTP_REFERER函数用法实例
Nov 21 PHP
php-redis中的sort排序函数总结
Jul 08 PHP
PHP实现的进度条效果详解
May 03 PHP
php用户登录之cookie信息安全分析
May 13 PHP
ThinkPHP和UCenter接口冲突的解决方法
Jul 25 PHP
基于thinkPHP类的插入数据库操作功能示例
Jan 06 PHP
详解PHP使用日期时间处理器Carbon人性化显示时间
Aug 10 PHP
PHP yield关键字功能与用法分析
Jan 03 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
在PHP中执行系统外部命令
2006/10/09 PHP
ThinkPHP查询返回简单字段数组的方法
2014/08/25 PHP
学习php设计模式 php实现门面模式(Facade)
2015/12/07 PHP
php版微信公众平台实现预约提交后发送email的方法
2016/09/26 PHP
轻轻松松学习JavaScript
2007/02/25 Javascript
WEB 浏览器兼容 推荐收藏
2010/05/14 Javascript
document.getElementById方法在Firefox与IE中的区别
2010/05/18 Javascript
jQuery中contents()方法用法实例
2015/01/08 Javascript
JavaScript 异常处理 详解
2015/02/06 Javascript
在JavaScript的正则表达式中使用exec()方法
2015/06/16 Javascript
BootStrap下拉框在firefox浏览器界面不友好的解决方案
2016/08/18 Javascript
js实现简易垂直滚动条
2017/02/22 Javascript
js中DOM三级列表(代码分享)
2017/03/20 Javascript
Javascript循环删除数组中元素的几种方法示例
2017/05/18 Javascript
Vue组件内部实现一个双向数据绑定的实例代码
2019/04/04 Javascript
JS实现炫酷轮播图
2020/11/15 Javascript
[54:33]2018DOTA2亚洲邀请赛小组赛 A组加赛 Liquid vs Optic
2018/04/03 DOTA
python实现的阳历转阴历(农历)算法
2014/04/25 Python
python遍历 truple list dictionary的几种方法总结
2016/09/11 Python
利用python开发app实战的方法
2019/07/09 Python
Pandas 重塑(stack)和轴向旋转(pivot)的实现
2019/07/22 Python
html5指南-6.如何创建离线web应用程序实现离线访问
2013/01/07 HTML / CSS
EQVVS官网:设计师男装和女装
2018/10/24 全球购物
理肤泉英国官网:La Roche-Posay英国
2019/01/14 全球购物
Java语言程序设计测试题改错题部分
2014/07/22 面试题
中级会计职业生涯规划范文
2014/01/16 职场文书
开门红主持词
2014/04/02 职场文书
解放思想大讨论活动心得体会
2014/09/11 职场文书
小学教师师德师风个人整改措施
2014/09/18 职场文书
党员民主生活会整改措施
2014/09/26 职场文书
地球一小时活动总结
2015/02/27 职场文书
2015年语文教研组工作总结
2015/05/23 职场文书
2015年教师个人业务工作总结
2015/10/23 职场文书
浅谈Golang 切片(slice)扩容机制的原理
2021/06/09 Golang
Springboot集成阿里云OSS上传文件系统教程
2021/06/28 Java/Android
SQL之各种join小结详细讲解
2021/08/04 MySQL