PHP的AssertionError
介绍
AssertionError 类是Error类的子类。当assert()返回FALSE时抛出此类型的错误
assert()检查给定的断言是true还是false,如果为false,则抛出AssertionError。该assert()函数定义如下-
语法
for PHP 5 and PHP 7 assert ( mixed $assertion [, string $description ] ) : bool PHP 7 only assert ( mixed $assertion [, Throwable $exception ] ) : bool
参数
字符串或布尔表达式
失败消息
抛出对象
从PHP7.0开始,assert()现在是一种语言构造,而不是一个函数。断言参数现在可以是表达式,第二个参数可以是异常或描述。从PHP7.2开始,字符串描述会发出 E_DEPRECATED消息。assert()仅当在php.ini中启用assert.exception=on时,抛出的AssertionError才会发送到catch块。
AssertionError示例
在此示例中,我们断言条件为true,try块正常执行。如果为false,则会从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.