AssertionError类是Error类的子类。当 assert() 返回 FALSE
assert() 检查给定断言是真还是假时,会抛出此类错误,如果为假,则抛出 AssertionError。 assert() 函数定义如下 -
for PHP 5 and PHP 7 assert ( mixed $assertion [, string $description ] ) : bool PHP 7 only assert ( mixed $assertion [, Throwable $exception ] ) : bool
序号 | 参数和描述 |
---|---|
1 |
assertion 字符串或布尔表达式 |
2 |
description 失败消息 |
3 |
exception (仅适用于PHP 7) 可抛出对象 |
从PHP 7.0开始,assert()现在是一个语言结构而不是一个函数。 assertion 参数现在可以是一个表达式,第二个参数可以是异常或描述。从PHP 7.2开始,字符串描述会发出 E_DEPRECATED消息。assert()抛出的AssertionError只有在assert.exception=on在php.ini中启用时才会发送到catch块中。
在这个示例中,我们断言条件为真,try块正常执行。如果条件为假,将从catch块显示AssertionError消息。
实时演示
<?php $a=10; $b=20; try { if (assert($a == $b, "assert($a == $b) failed.")) { echo("assert($a == $b) was successful."); } } catch (AssertionError $e) { echo $e->getMessage(); } ?>
这将产生以下结果 -
assert(10 == 20) failed.
以上是PHP断言错误的详细内容。更多信息请关注PHP中文网其他相关文章!