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

yipeiwu_com6年前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程序设计有所帮助。

相关文章

linux环境apache多端口配置虚拟主机的方法深入介绍

默认情况下,linux上apache使用的默认文档目录是:/var/www默认端口是:80如果想发布自己的一个系统资源目录,可以使用下面的方法,执行如下命令:(1)添加监听端口#cd /...

php文件上传的两种实现方法

文件上传一般有下面2种方式: 有两种: 1、标准input表单方式,典型的用$_FILES进行接收; 2、以Base64的方式进行传送,一般是AJAX异步上传。 第一种 标准的input...

PHP实现普通hash分布式算法简单示例

本文实例讲述了PHP实现普通hash分布式算法。分享给大家供大家参考,具体如下: <?php /* * 普通hash分布式算法 * @param $key * @...

php上传大文件失败的原因及应对策略

php上传大文件失败的原因及应对策略

为什么上传大文件总是失败,但是上传小文件就没有问题。小编也不得其解,网上搜其原因,整理了一篇关于php上传大文件失败的原因和解决办法的文章,分享给大家。 下面分别是各种原因以及解决办法...

深入PHP empty(),isset(),is_null()的实例测试详解

有关 PHP 的 empty(),isset() 还有 is_null() 这三个函数的用法讨论得已经很多了,而且很多资料也未必能说得很清楚。这里再重复一次,但不是从概念去说,直接用程序...