php自定义错误处理用法实例

 更新时间:2015年03月20日 15:29:35   作者:work24  
这篇文章主要介绍了php自定义错误处理用法,实例分析了php通过自定义函数进行错误处理的技巧,需要的朋友可以参考下

本文实例讲述了php自定义错误处理用法。分享给大家供大家参考。具体如下:

<?php
error_reporting(E_ALL);
function ErrHandler($errorno, $errorstr, $errorfile, $errorline)
{
  $display = true;
  $notify = false;
  $halt_script = false;
  $error_msg = "<br>The $errorno error is occurring at $errorline in
  $errorfile<br>";
  switch($errorno)
  {
   case E_USER_NOTICE:
   case E_NOTICE:
   $halt_script = false;
   $notify = true;
   $label = "<B>Notice</B>";
   break;
   case E_USER_WARNING:
   case E_WARNING:
   $halt_script = false;
   $notify = true;
   $label = "<b>Warning</b>";
   break;
   case E_USER_ERROR:
   case E_ERROR:
   $label = "<b>Fatal Error</b>";
   $notify=true;
   $halt_script = false;
   break;
   case E_PARSE:
   $label = "<b>Parse Error</b>";
   $notify=true;
   $halt_script = true;
   break;
   default:
   $label = "<b>Unknown Error</b>";
   break;
  }
  if($notify)
  {
   $msg = $label . $error_msg;
   echo $msg;
  }
  if($halt_script) exit -1;
}
$error_handler = set_error_handler("ErrHandler");
echo "<BR><H2>Using Custom Error Handler</h2><BR>";
trigger_error("<BR>Error caused by E_USER_NOTICE</BR>", E_USER_NOTICE);
trigger_error("<BR>Error caused by E_USER_WARNING</BR>", E_USER_WARNING);
trigger_error("<BR>Error caused by E_USER_ERROR</BR>", E_USER_ERROR);
trigger_error("<BR>Error caused by E_PARSE</BR>", E_PARSE);
?>

希望本文所述对大家的php程序设计有所帮助。

相关文章

  • php简单实现多维数组排序的方法

    php简单实现多维数组排序的方法

    这篇文章主要介绍了php简单实现多维数组排序的方法,涉及php数组的遍历及array_multisort函数的相关使用技巧,需要的朋友可以参考下
    2016-09-09
  • PHP高级对象构建 工厂模式的使用

    PHP高级对象构建 工厂模式的使用

    工厂模式包含普通工厂模式和抽象工厂模式,但是,不管是什么工厂模式,它们都是有一个作用,那就是生成对象
    2012-02-02
  • php 随机生成10位字符代码

    php 随机生成10位字符代码

    php 随机生成10位字符,大家可以看下原理就可以实现自定义位数的随机字符串了。
    2009-03-03
  • PHP安全性漫谈

    PHP安全性漫谈

    本文所讨论的安全性环境是在Linux+Apache+Mysql+PHP。超出此范围的安全性问题不在本文范畴之内
    2012-06-06
  • PHP对文件夹递归执行chmod命令的方法

    PHP对文件夹递归执行chmod命令的方法

    这篇文章主要介绍了PHP对文件夹递归执行chmod命令的方法,可实现递归执行chmod命令改变文件夹执行权限的功能,需要的朋友可以参考下
    2015-06-06
  • php循环输出数据库内容的代码

    php循环输出数据库内容的代码

    今天书写php的循环输出内容,总发现第一篇不能现实,原来是用php do while语句,后来改成while所以出现这个问题,都怪学艺不精啊,特整理下
    2008-05-05
  • 比较strtr, str_replace和preg_replace三个函数的效率

    比较strtr, str_replace和preg_replace三个函数的效率

    本篇文章是对strtr, str_replace和preg_replace三个函数的效率问题进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • 如何使用PHP依赖管理工具Composer

    如何使用PHP依赖管理工具Composer

    Composer是php的一个依赖管理工具,允许你声明项目所依赖的代码库,它会在你的项目中为你安装他们。这篇文章教你如何使用Composer。
    2021-05-05
  • PHP的runkit扩展如何使用

    PHP的runkit扩展如何使用

    PHP 运行的时候,也就是部署完成后,我们是不能修改常量的值,也不能修改方法体内部的实现的。也就是说,我们编码完成后,将代码上传到服务器,这时候,我们想在不修改代码的情况去修改一个常量的值是不行的。但是,runkit 扩展却可以帮助我们完成这个功能。
    2021-05-05
  • php中可能用来加密字符串的函数[base64_encode、urlencode、sha1]

    php中可能用来加密字符串的函数[base64_encode、urlencode、sha1]

    做新浪微博自动登录时遇到的,身为一只大大的菜鸟,连登录脚本都是别人写好的自己改装了用上去,到最后才明白那个脚本原来是获取cookie用的,实在是反应迟钝、抑或自己不用心
    2012-01-01

最新评论