Giới thiệu
Lớp AssertionError là subclass của Error. Lỗi này ném ra khi assert() trả về FALSE.
assert() kiểm tra assertion đúng/sai, ném AssertionError nếu sai. Hàm assert() định nghĩa:
Cú pháp
PHP 5 và PHP 7: assert ( mixed $assertion [, string $description ] ) : bool PHP 7 chỉ: assert ( mixed $assertion [, Throwable $exception ] ) : bool
Tham số
| STT | Tham số & Mô tả |
|---|---|
| 1 | assertion biểu thức string hoặc boolean |
| 2 | description thông báo thất bại |
| 3 | exception (chỉ PHP 7) đối tượng throwable |
Từ PHP 7.0, assert() là cấu trúc ngôn ngữ (language construct) chứ không phải hàm. Tham số assertion giờ có thể là biểu thức, tham số thứ 2 là exception hoặc description. Từ PHP 7.2, description string phát E_DEPRECATED. AssertionError từ assert() chỉ gửi đến catch block nếu assert.exception=on bật trong php.ini.
Ví dụ AssertionError
Assert điều kiện true, try block chạy bình thường. Nếu false, thông báo AssertionError hiển thị từ catch.
Ví dụ
<?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(); } ?>Kết quả
assert(10 == 20) failed.