php异常处理使用示例

 更新时间:2014年02月25日 09:56:06   作者:  
这篇文章主要介绍了php异常处理使用示例,代码说明了普通错误和致命错误捕获及处理的方法,需要的朋友可以参考下

复制代码 代码如下:

<?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();



 

相关文章

  • 使用 laravel sms 构建短信验证码发送校验功能

    使用 laravel sms 构建短信验证码发送校验功能

    本文通过示例代码给大家介绍了使用 laravel-sms 构建短信验证码发送校验模块,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-11-11
  • CodeIgniter框架实现的整合Smarty引擎DEMO示例

    CodeIgniter框架实现的整合Smarty引擎DEMO示例

    这篇文章主要介绍了CodeIgniter框架实现的整合Smarty引擎DEMO,结合实例形式分析了CodeIgniter框架整合Smarty引擎的原理、操作步骤及相关实现技巧,需要的朋友可以参考下
    2019-03-03
  • PHP生成静态页

    PHP生成静态页

    PHP生成静态页...
    2006-11-11
  • php利用事务处理转账问题

    php利用事务处理转账问题

    这篇文章主要介绍了php利用事务处理转账问题的方法,实例分析了php处理事务的提交与回滚的技巧,需要的朋友可以参考下
    2015-04-04
  • 基于laravel belongsTo使用详解

    基于laravel belongsTo使用详解

    今天小编就为大家分享一篇基于laravel belongsTo使用详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-10-10
  • PHP中static关键字以及与self关键字的区别

    PHP中static关键字以及与self关键字的区别

    这篇文章主要介绍了PHP中static关键字以及与self关键字的区别,本文讲解了static关键字的定义、迟绑定(Late Static Bindings)、以及与self关键字的区别等内容,需要的朋友可以参考下
    2015-07-07
  • discuz加密解密函数使用方法和中文注释

    discuz加密解密函数使用方法和中文注释

    这篇文章主要介绍了discuz加密解密函数的使用方法和中文注释,大家参考使用吧
    2014-01-01
  • Discuz!X中SESSION机制实例详解

    Discuz!X中SESSION机制实例详解

    这篇文章主要介绍了Discuz!X中SESSION机制,以实例形式较为详细的分析了Discuz!X中SESSION机制的原理与数据库操作技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-09-09
  • ThinkPHP的URL重写问题

    ThinkPHP的URL重写问题

    ThinkPHP 是一个免费开源的,快速、简单的面向对象的 轻量级PHP开发框架,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。在使用过程中我们经常需要去掉URL路径中的index.php,因为带着真的很别扭。那么我们来解决下这个问题
    2014-06-06
  • PHP上传 找不到临时文件夹的解决方法

    PHP上传 找不到临时文件夹的解决方法

    这篇文章主要介绍了PHP上传 找不到临时文件夹的解决方法,主要处理方式是找到php配置文件php.ini并做相应的修改,具体解决方法大家参考下本文
    2018-03-03

最新评论