บทนำ
คลาส AssertionError เป็น subclass ของคลาส Error ข้อผิดพลาดประเภทนี้ถูกโยนเมื่อ assert() คืนค่า FALSE
assert() ตรวจสอบว่า assertion ที่ให้มาจริงหรือเท็จ และโยน AssertionError หากเป็นเท็จ ฟังก์ชัน assert() ถูกกำหนดดังนี้
ไวยากรณ์
for PHP 5 and PHP 7 assert ( mixed $assertion [, string $description ] ) : bool PHP 7 only assert ( mixed $assertion [, Throwable $exception ] ) : bool
Parameters
| Sr.No | Parameter & Description |
|---|---|
| 1 | assertion string หรือ boolean expression |
| 2 | description failure message |
| 3 | exception (for PHP 7 only) throwable object |
ตั้งแต่ PHP 7.0 assert() เป็น language construct ไม่ใช่ฟังก์ชัน พารามิเตอร์ assertion ตอนนี้สามารถเป็น expression ได้ และพารามิเตอร์ที่สองเป็น exception หรือ description ตั้งแต่ PHP 7.2 เป็นต้นมา string description จะปล่อยข้อความ E_DEPRECATED AssertionError ที่โยนโดย assert() จะส่งไป catch block ก็ต่อเมื่อ assert.exception=on เปิดใช้งานใน php.ini
AssertionError Example
ในตัวอย่างนี้ เรา assert ว่าเงื่อนไขเป็นจริง try block ทำงานปกติ หากเป็นเท็จ ข้อความ AssertionError จะแสดงจาก catch block
ตัวอย่าง
<?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.