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.