DivisionByZeroError 类是ArithmeticError类的子类。当除法运算的分母值为零时,会发生这种类型的错误。当取模运算符(%)的第二个运算符为0且第二个参数为0的 intdiv()函数时,也会发生这种情况。
在第一个示例中,我们尝试使用 %运算符执行10和0的模除,以得出DivisionByZeroError。
<?php try { $a = 10; $b = 0; $result = $a%$b; echo $result; } catch (DivisionByZeroError $e) { echo $e->getMessage(); } ?>
输出结果
这将产生以下结果-
Modulo by zero
如果以0作为第二个参数html" target="_blank">调用 intdiv()函数也会引发DivisionByZeroError,如下所示
<?php try { $a = 10; $b = 0; $result = intdiv($a,$b); echo $result; } catch (DivisionByZeroError $e) { echo $e->getMessage(); } ?>
输出结果
这将产生以下结果-
Division by zero
以0为分母的除法运算符(/),但是不会引发错误,而是会发出警告,因为除法会导致PHP常量INF
<?php try { $a = 10; $b = 0; $result = $a/$b; echo $result; } catch (DivisionByZeroError $e) { echo $e->getMessage(); } ?>
输出结果
这将产生以下结果-
PHP Warning: Division by zero in C:\xampp\php\test.php on line 5 INF