PHP的错误级别

PHP:指示支持该常量的最早的 PHP 版本。

常量描述PHP
1E_ERROR运行时致命的错误。不能修复的错误。停止执行脚本。 
2E_WARNING运行时非致命的错误。没有停止执行脚本。 
4E_PARSE编译时的解析错误。解析错误应该只由解析器生成。 
8E_NOTICE运行时的通知。脚本发现可能是一个错误,但也可能在正常运行脚本时发生。 
16E_CORE_ERRORPHP 启动时的致命错误。这就如同 PHP 核心的 E_ERROR。4
32E_CORE_WARNINGPHP 启动时的非致命错误。这就如同 PHP 核心的 E_WARNING。4
64E_COMPILE_ERROR编译时致命的错误。这就如同由 Zend 脚本引擎生成的 E_ERROR。4
128E_COMPILE_WARNING编译时非致命的错误。这就如同由 Zend 脚本引擎生成的 E_WARNING。4
256E_USER_ERROR用户生成的致命错误。这就如同由程序员使用 PHP 函数 trigger_error() 生成的 E_ERROR。4
512E_USER_WARNING用户生成的非致命错误。这就如同由程序员使用 PHP 函数 trigger_error() 生成的 E_WARNING。4
1024E_USER_NOTICE用户生成的通知。这就如同由程序员使用 PHP 函数 trigger_error() 生成的 E_NOTICE。4
2048E_STRICT运行时的通知。PHP 建议您改变代码,以提高代码的互用性和兼容性。5
4096E_RECOVERABLE_ERROR可捕获的致命错误。这就如同一个可以由用户定义的句柄捕获的 E_ERROR(见 set_error_handler())。5
6143E_ALL所有的错误和警告的级别,除了 E_STRICT(自 PHP 6.0 起,E_STRICT 将作为 E_ALL的一部分)。5
<?php
set_error_handler('error', E_ALL);
function error($type, $message, $file, $line)
{
    var_dump("<br/>error_type:" . $type . "<br/>error_message:" . $message . "<br/>error_file:" .  $file . "<br/>error_line:" . $line . "<br/>");
    throw new \Exception($message . '错误当做异常');
}
try {
    $error = 1/0;
} catch (Exception $e) {
    echo $e->getMessage();
}
?>

打印结果:

string(117) "
error_type:2
error_message:Division by zero
error_file:C:\WWW\WWW\Test\Index.php
error_line:371
" Division by zero错误当做异常

错误时,对应error_type的数值对应error类型:
E_ERROR  = 1 
E_WARNING = 2
E_PARSE = 4
E_NOTICE = 8
E_CORE_ERROR = 16
E_CORE_WARNING = 32
E_COMPILE_ERROR = 64
E_COMPILE_WARNING = 128
E_USER_ERROR = 256
E_USER_WARNING = 512 
E_USER_NOTICE = 1024

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值