পরিচয়
পিএইচপি পার্সার ArgumentCountError ছুঁড়ে দেয় যখন একটি ব্যবহারকারীর সংজ্ঞায়িত ফাংশন বা পদ্ধতিতে পাস করা আর্গুমেন্ট তার সংজ্ঞার চেয়ে কম হয়। ArgumentCountError ক্লাস TypeError থেকে উত্তরাধিকারসূত্রে পাওয়া যায় ক্লাস
ArgumentCountError উদাহরণ
নিম্নলিখিত উদাহরণে, একটি ব্যবহারকারী সংজ্ঞায়িত ফাংশন add() দুটি আর্গুমেন্ট পাওয়ার জন্য সংজ্ঞায়িত করা হয়েছে। যাইহোক, যদি কল করার সময় প্রয়োজনীয় সংখ্যক আর্গুমেন্ট প্রদান করা হয়, তাহলে ArgumentCountError নিক্ষেপ করা হবে যা ক্যাচ ব্লক দিয়ে পরিচালনা করা যেতে পারে।
উদাহরণ
<?php function add($x, $y){ return $x+$y; } try{ echo add(10); } catch (ArgumentCountError $e){ echo $e->getMessage(); } ?>
আউটপুট
এটি নিম্নলিখিত ফলাফল তৈরি করবে -
Too few arguments to function add(), 1 passed in C:\xampp\php\test.php on line 6 and exactly 2 expected
নিম্নলিখিত উদাহরণে, setdata() myclass-এ পদ্ধতি দুটি আনুষ্ঠানিক আর্গুমেন্ট আছে সংজ্ঞায়িত করা হয়. যখন এই পদ্ধতিটি কম আর্গুমেন্ট সহ কল করা হয়, তখন ArgumentCountException নিক্ষেপ করা হয়
উদাহরণ
<?php class myclass{ private $name; private $age; function setdata($name, $age){ $this->name=$name; $this->age=$age; } } try{ $obj=new myclass(); obj->setdata(); } catch (ArgumentCountError $e){ echo $e->getMessage(); } ?>
আউটপুট
এটি নিম্নলিখিত ফলাফল তৈরি করবে -
Too few arguments to function myclass::setdata(), 0 passed in C:\xampp\php\test.php on line 15 and exactly 2 expected
বিল্ট-ইন ফাংশনকে অনুপযুক্ত বা অবৈধ সংখ্যক আর্গুমেন্ট দেওয়া হলে ArgumentCountExceptionও নিক্ষেপ করা হয়। যাইহোক, কঠোর ধরনের মোড সেট করা আবশ্যক
উদাহরণ
<?php declare(strict_types = 1); try{ echo strlen("Hello", "World"); } catch (ArgumentCountError $e){ echo $e->getMessage(); } ?>
আউটপুট
এটি নিম্নলিখিত ফলাফল তৈরি করবে -
strlen() expects exactly 1 parameter, 2 given