首页 >后端开发 >php教程 >PHP ErrorException(PHP错误异常)

PHP ErrorException(PHP错误异常)

王林
王林转载
2023-08-30 18:25:021816浏览

PHP ErrorException(PHP错误异常)

介绍

PHP的Exception类实现了Throwable接口。ErrorException类继承了Exception类。当您想要捕获和处理否则会被忽略的错误,例如通知或警告时,可以显式地抛出ErrorException。

PHP核心包含以下预定义的错误常量

常量 描述
1 E_ERROR 致命的运行时错误。
2 E_WARNING 运行时警告(非致命错误)。
4 E_PARSE 编译时解析错误。
8 E_NOTICE 运行时通知。
16 E_CORE_ERROR 在PHP的初始启动过程中发生的致命错误。
32 E_CORE_WARNING 在PHP的初始启动过程中发生的警告(非致命错误)。
64 E_COMPILE_ERROR 致命的编译时错误。
128 E_COMPILE_WARNING 编译时警告(非致命错误)。
256 E_USER_ERROR 用户生成的错误消息。
512 E_USER_WARNING 用户生成的警告消息。
1024 E_USER_NOTICE 用户生成的通知消息。
2048 E_STRICT 如果启用,PHP建议更改您的代码,以确保代码的互操作性和向前兼容性。
4096 E_RECOVERABLE_ERROR 可捕获的致命错误。
8192 E_DEPRECATED 运行时通知。
16384 E_USER_DEPRECATED 用户生成的警告消息。
32767 E_ALL 所有错误和警告,E_STRICT

除了从Exception类继承的属性和方法外,ErrorException类还引入了一个属性和一个方法,如下所示−

protected int severity ;
final public getSeverity ( void ) : int

异常的严重性由上表中与错误类型相关的整数表示

ErrorException示例

在下面的脚本中,用户定义的函数errhandler通过通过set_error_handler()函数将strong>设置为错误处理程序。当遇到无法读取文件的致命错误时,它会抛出 ErrorException。

示例

 实时演示

<?php
function errhandler($severity, $message, $file, $line) {
   if (!(error_reporting() & $severity)) {
      echo "no error";
      return;
   }
   throw new ErrorException("Fatal Error:No such file or directory", 0, E_ERROR);
}
set_error_handler("errhandler");
/* Trigger exception */
try{
   $data=file_get_contents("nofile.php");
   echo $data;
}
catch (ErrorException $e){
   echo $e->getMessage();
}
?>

上面的示例显示以下输出

输出

Fatal Error:No such file or directory

以上是PHP ErrorException(PHP错误异常)的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文转载于:tutorialspoint.com。如有侵权,请联系admin@php.cn删除