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

相关文章

PHP+SQL 注入攻击的技术实现以及预防办法

总结一下经验。在我看来,引发 SQL 注入攻击的主要原因,是因为以下两点原因:   1. php 配置文件 php.ini 中的 magic_quotes_gpc 选项没有打开,被置为...

PHP 应用程序的安全 -- 不能违反的四条安全规则

大家都知道安全性是重要的,但是行业中的趋势是直到最后一刻才添加安全性。既然不可能完全保护 Web 应用程序,那么为什么要费这个劲儿呢,不是吗?不对。只需采用一些简单的...

PHP7中I/O模型内核剖析详解

PHP7中I/O模型内核剖析详解

1.同步:我客户端(C端调用者)一个功能,该功能没有结束前,我死等结果。 2.异步:我(c端调用者)调用一个功能,不知道该功能结果,该功能有结果后通知我,即回调通知 3.阻塞:就是调用我...

php全角字符转换为半角函数

之前试过网上找的通过ASCII之类的字符替换,发现很多莫名其妙的问题。最后还是换成下面的字符替换方式了,把目前能找到的所有全角都列出来了一个个替换吧 复制代码 代码如下: /** * 全...

PHP原理之异常机制深入分析

PHP原理之异常机制深入分析

PHP的异常机制的原理是什么? 在PHP每一个可独立执行的op array最后的ZEND_HANDLE_EXCEPTION是用来干什么呢? 让我们从一个问题说起, 上周的时候, blue...