ভূমিকা
AssertionError ক্লাস Error ক্লাসের সাবক্লাস। এই টাইপের এরর থ্রো হয় যখন assert() FALSE রিটার্ন করে।
assert() চেক করে দেওয়া অ্যাসারশন ট্রু কিনা ফলস, এবং ফলস হলে AssertionError থ্রো করে। assert() ফাংশন নিচের মতো ডিফাইন করা হয়েছে—
সিনট্যাক্স
PHP 5 এবং PHP 7-এ assert ( mixed $assertion [, string $description ] ) : bool PHP 7-এ assert ( mixed $assertion [, Throwable $exception ] ) : bool
প্যারামিটার
| Sr.No | Parameter & Description |
|---|---|
| 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-এ ইনেবলড থাকে।
AssertionError উদাহরণ
এই উদাহরণে, আমরা অ্যাসার্ট করি কন্ডিশন ট্রু, try ব্লক নরমালি এক্সিকিউট হয়। যদি ফলস হয়, AssertionError মেসেজ catch ব্লক থেকে দেখাবে।
উদাহরণ
<?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.