php中错误和异常处理的机制二(错误处理器和错误触发器)

原创 2015年07月09日 10:14:12

PHP错误级别

常量 描述
2 E_WARNING 非致命的 run-time 错误。不暂停脚本执行。
8 E_NOTICE run-time 通知。在脚本发现可能有错误时发生,但也可能在脚本正常运行时发生。
256 E_USER_ERROR 致命的用户生成的错误。这类似于程序员使用 PHP 函数 trigger_error() 设置的 E_ERROR。
512 E_USER_WARNING 非致命的用户生成的警告。这类似于程序员使用 PHP 函数 trigger_error() 设置的 E_WARNING。
1024 E_USER_NOTICE 用户生成的通知。这类似于程序员使用 PHP 函数 trigger_error() 设置的 E_NOTICE。
4096 E_RECOVERABLE_ERROR 可捕获的致命错误。类似 E_ERROR,但可被用户定义的处理程序捕获。(参见 set_error_handler())
8191 E_ALL 所有错误和警告。(在 PHP 5.4 中,E_STRICT 成为 E_ALL 的一部分)

错误触发器:如果符合某个条件,则规定发生了某种级别的错误,并规定错误提示信息

错误处理器:如果发生了某种级别的错误,则执行某个函数,对错误进行处理

实例代码:

在本例中,如果 "test" 变量大于 "1",则发生 E_USER_ERROR 错误。如果发生了 E_USER_ERROR,我们将使用我们自定义的错误处理程序 my_error 并结束脚本:

<span style="font-size:18px;"><?php
//定义了一个函数(我用于处理错误的函数,这个函数名可以自定义)
function my_error($error_level,$error_message,$error_file,$error_line,$error_context){
    //错误处理函数中,前两个参数必选,后3个参数可选
    echo "<font size='7' color='red'>错误级别是:[$error_level]<br/>错误信息是:[$error_message]<br/>错误文件是:[$error_file]<br/>错误发生的行数是:[$error_line]<br/>错误发生时在用的每个变量以及它们的值是(返回的是一个数组):[$error_context]<br/> </font><br/>";
    exit();
}
//上面的代码是一个简单的错误处理函数。当它被触发时,它会取得错误级别和错误消息。然后它会输出错误级别和消息,并终止脚本。
//set_error_handler为错误处理函数,函数名固定
//下面这句话的含义是 : 如果出现了 E_WARNING这个级别的错误,就去调用my_error函数.
set_error_handler("my_error",E_USER_ERROR);
//当set_error_handler只有一个参数时,表示只要出现错误就执行my_error函数
//set_error_handler("my_error");

//错误触发器
$test=2;
if ($test>1)
{   
    //调用触发器,同时指定错误级别和错误提示信息.
    //此处的错误类型可以有以下几种:E_USER_ERROR、E_USER_WARNING、E_USER_NOTICE
    trigger_error("Value must be 1 or below",E_USER_ERROR);
    //只调用触发器,指定错误提示信息,错误级别输出默认值.
    //trigger_error("Value must be 1 or below");
}
?></span>



php异常处理—设置顶层异常处理器

set_exception_handler() 函数可设置处理所有未捕获异常的用户定义函数。
  • guoshaoqing001
  • guoshaoqing001
  • 2015年06月02日 13:19
  • 502

韩顺平php视频笔记79 80 错误和异常处理的机制 错误处理器 错误触发器

注意:php中 php中错误和异常处理的机制   如果没有错误处理机制怎样?     //打开文件- $fp=fopen(“aaa.txt”,”r”); echo “ok”;   ?>     上面...
  • u011109881
  • u011109881
  • 2015年01月27日 08:44
  • 311

PHP自定义错误处理器处理出错信息

如果您是PHP老手,当然知道当PHP脚本出错时发生了什么事情。此时PHP解析器将在屏幕上给出错误信息,如 Fatal error: Call to undefined function on line...
  • farflight
  • farflight
  • 2007年05月01日 00:39
  • 1720

3.PHP自定义错误处理器

1. 使用set_error_handler 自定义错误处理函数说明 1.创建错误处理函数 2.设置不同级别调用函数 3.set_error_handler函数指定接管错误处理 ...
  • wjc19911118
  • wjc19911118
  • 2015年07月11日 11:57
  • 1177

PHP错误和异常处理

PHP错误和异常处理
  • liuzp111
  • liuzp111
  • 2016年05月07日 23:05
  • 1917

PHP 错误和异常处理

异常处理的概念
  • zm_bingxindan
  • zm_bingxindan
  • 2014年06月12日 12:48
  • 233

PHP学习笔记【16】--错误处理器和错误触发器

//PHP对错误的处理          //打开文件     //$fp=fopen("23.txt","r");//出现 warning     //echo "ok";//这句话继续执行    ...
  • okenan123
  • okenan123
  • 2013年04月01日 16:13
  • 176

PHP和MySQL中如何进行错误处理与调试

1,错误类型:HTML问题; PHP问题; SQL问题; MYSQL问题;PHP错误一般归属于三个领域:语法错误; 运行时错误; 逻辑错误;SQL错误通常出现在语法上。2,基本调试步骤:保证头脑清醒;...
  • violetfeeling
  • violetfeeling
  • 2007年08月31日 15:44
  • 5368

volley的重试机制及错误处理机制

volley的重试机制及错误处理机制
  • Garment1991
  • Garment1991
  • 2017年01月04日 22:58
  • 531

PHP的错误和异常处理

PHP的错误和异常处理 - n哖苡逅 - 博客园  http://www.cnblogs.com/laojie4321/p/4187620.html PHP的错误和异常处理 ...
  • guyue35
  • guyue35
  • 2016年11月05日 18:44
  • 284
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:php中错误和异常处理的机制二(错误处理器和错误触发器)
举报原因:
原因补充:

(最多只允许输入30个字)