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>



相关文章推荐

PHP7的异常处理机制,set_error_handler和set_exception_handler方法介绍

由于历史原因,php一开始被设计为一门面向过程的语言,所以异常处理没有使用像Java一样的try/catch机制,出错时直接显示到页面上,或者记录到web服务器的错误日志中,并且php的错误分成了很多...

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

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

php错误处理和php异常处理机制

将错误报告写入日志中 一、指定错误报告 error_reporting = E_LL 二、关闭错误输出 display_errors = Off 三、开启错误日志功能 log_err...

轻松学PHP之PHP的错误和异常处理

  • 2015年07月29日 13:45
  • 637KB
  • 下载

12. php的错误和异常处理(二)

1. 异常处理实现通过以下语句实现:

error和panic,初识Golang的错误和异常处理机制

说是初识,并不是说第一次使用error和panic包,而是第一次特地去了解golang中的这两个机制。之前写代码一直追求达到目的就可以,很少静下心了解一门语言。需要就用,用过就丢。但是这几天由于没有任...

PHP自学之路----错误及异常处理机制、错误日志

PHP错误机制   在 PHP 中,默认的错误处理很简单。一条消息会被发送到浏览器,这条消息带有文件名、行号以及一条描述错误的消息。在创建脚本和 web 应用程序时,错误处理是一个重要的部分。...

php错误与异常处理

以下内容来自《细说php》 //
  • LUAOHAN
  • LUAOHAN
  • 2014年05月19日 17:35
  • 554

PHP的错误和异常处理

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

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