×
PHP 7新特性简单认识PHP7如何配置PHP7环境如何在Linux/Unix上安装PHP在Mac OS X系统中的安装PHP使用IIS在Windows上安装PHPApache如何在Windows上安装PHP7功能之标量类型声明返回类型声明在PHP中的使用PHP7空合并运算符如何使用PHP7中如何使用太空船操作符PHP7定义常量数组和匿名类PHP7中Closure :: call使用示例如何使用过滤unserialize()函数PHP7如何使用IntlChar伪随机数产生器CSPRNGPHP7的期望是如何使用的?PHP7如何使用use语句如何进行错误处理的?PHP是如何计算整数除法的?什么是PHP7的Session选项PHP7弃用了哪些功能PHP7中移除的扩展和SAPI

PHP7更新记录

PHP7.2.0 RC6 发布,修复bug

在PHP7中是如何进行错误处理的?


在 PHP7 中改变了大多数错误的报告方式。不再通过 PHP5 使用的传统错误报告机制来报告错误,现在大多数错误被作为 Error 异常抛出。这种 Error 异常可以像 Exception 异常一样被第一个匹配的 try / catch 块所捕获。如果没有匹配的 catch 块,则调用异常处理函数(事先通过 set_exception_handler() 注册)进行处理。 如果尚未注册异常处理函数,则按照传统方式处理:被报告为一个致命错误(Fatal Error)。

由于错误层次结构不从 Exception 扩展,因此使用 catch(Exception $ e){...} 块处理 PHP5 中未捕获的异常的代码将不会处理此类错误。需要一个 catch(Error $ e){...} 块或一个 set_exception_handler()处理程序来处理致命错误。

exception_hierarchy

Error 层次结构

  • Throwable
    • Error
      • ArithmeticError
        • DivisionByZeroError
      • AssertionError
      • ParseError
      • TypeError
    • Exception
      • ...

使用示例

n % 0;
            return $value;
         } catch (DivisionByZeroError $e) {
            return $e->getMessage();
         }
      }
   }

   $mathOperationsObj = new MathOperations();
   print($mathOperationsObj->doOperation());
?>

它产生以下浏览器输出:

Modulo by zero

分类导航

关注微信下载离线手册

bootwiki移动版 bootwiki
(群号:472910771)