📜  PHP 7-错误处理

📅  最后修改于: 2020-10-21 04:59:00             🧑  作者: Mango


从PHP 7开始,错误处理和报告已更改。现在,大多数错误不是通过PHP 5使用的传统错误报告机制来报告错误,而是通过引发Error异常来处理。与异常相似,这些错误异常会冒泡直到到达第一个匹配的catch块。如果没有匹配的块,则将调用安装有set_exception_handler()的默认异常处理程序。如果没有默认的异常处理程序,则该异常将转换为致命错误,并将像传统错误一样进行处理。

由于Error层次结构不是从Exception扩展的,因此在PHP 5中使用catch(Exception $ e){…}块来处理未捕获的异常的代码将无法处理此类错误。需要使用catch(Error $ e){…}块或set_exception_handler()处理函数来处理致命错误。

异常层次

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

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

它产生以下浏览器输出-

Modulo by zero