परिचय
PHP पार्सर ArgumentCountError फेंकता है जब उपयोगकर्ता परिभाषित फ़ंक्शन या विधि को दिए गए तर्क इसकी परिभाषा से कम होते हैं। ArgumentCountError वर्ग TypeError . से विरासत में मिला है कक्षा
ArgumentCountError उदाहरण
निम्नलिखित उदाहरण में, उपयोगकर्ता परिभाषित फ़ंक्शन ऐड () को दो तर्क प्राप्त करने के लिए परिभाषित किया गया है। हालांकि, यदि कॉल करते समय आवश्यक संख्या से कम तर्क प्रदान किए जाते हैं, तो 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
निम्नलिखित उदाहरण में, सेटडेटा () 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