• 微信
    咨询
    微信在线咨询 服务时间:9:00-18:00
    纵横数据官方微信 使用微信扫一扫
    马上在线沟通
  • 业务
    咨询

    QQ在线咨询 服务时间:9:00-18:00

    选择下列产品马上在线沟通

    纵横售前-老古
    QQ:519082853 售前电话:18950029581
    纵横售前-江夏
    QQ:576791973 售前电话:19906048602
    纵横售前-小李
    QQ:3494196421 售前电话:19906048601
    纵横售前-小智
    QQ:2732502176 售前电话:17750597339
    纵横售前-燕子
    QQ:609863413 售前电话:17750597993
    纵横值班售后
    QQ:407474592 售后电话:18950029502
    纵横财务
    QQ:568149701 售后电话:18965139141

    售前咨询热线:

    400-188-6560

    业务姚经理:18950029581

  • 关注

    关于纵横数据 更多优惠活动等您来拿!
    纵横数据官方微信 扫一扫关注官方微信
  • 关闭
  • 顶部
  • 您所在的位置 : 首页 > 新闻公告 > php核心特性 - 错误处理

    php核心特性 - 错误处理

    错误与异常
    错误,可以理解程序本身的错误,例如语法错误。而异常则更偏向于程序运行不符合预期或者不符合正常流程;对于 PHP 语言而言,处理错误和处理异常使用的机制完全不同,因此很容易让人产生困惑。
    例如,我们希望通过捕获异常来处理除数为 0 的情况,但是在捕获到异常之前,PHP 就触发了错误。
    try {    $a = 5 / 0;
    } catch (Exception $e) {    
    $e->getMessage();    
    $a = -1;  // 通过异常来处理 $a 为 0 的情况,但是实际上,捕获不到该异常}
    echo $a;// PHP Warning:  Division by zero
    也就是说,PHP 将除数为 0 的情况当成了错误而触发,而不会自动抛出异常,因此没法捕获。类似的,在很多情况下,PHP 都没办法自动抛出异常。只能通过 if - else 语句判断再结合 throw 方法来并手动抛出异常。
    上述情况的发生,主要还是因为异常机制是 PHP 向面向对象演进后得到的产物。而在此之前 PHP 的报错主要还是通过错误机制,因此,在很多情况下,PHP 的错误要比异常更有价值。不过 PHP7 开始统一这两者,使错误也可以像异常那样抛出(这部分内容将放在异常部分讲解)。

    错误级别
    PHP 中的错误可理解为 使脚本不运行不正常的情况,根据错误级别从高到低可划分为五类
    Parse error 或 Syntax Error - 语法解析错误,触发该错误后,脚本完全无法运行;
    Fatal Error - 致命错误,触发该错误后,后面的脚本无法继续执行;
    Warning Error - 出现比较不恰当的地方,脚本可继续执行;
    Notice Error - 出现不恰当的地方,但是程度比 Warning Error 低,脚本可继续执行;
    Deprecated Error - 不推荐这么使用,未来可能会废弃,脚本可继续执行;
    默认情况下,PHP 触发错误,并显示错误的级别及对应的提示。

    最新推荐


    微信公众帐号
    关注我们的微信