परिचय
लेखन त्रुटि वर्ग विस्तारित होता है त्रुटि कक्षा। यह त्रुटि तब उत्पन्न होती है जब वास्तविक और औपचारिक तर्क प्रकार मेल नहीं खाते हैं, वापसी प्रकार डिकैलर्ड रिटर्न प्रकार से मेल नहीं खाता है या किसी भी अंतर्निहित फ़ंक्शन को पास किए गए अमान्य तर्क
ध्यान दें कि सख्त_प्रकार घोषित () . के साथ सत्य पर सेट होना चाहिए स्क्रिप्ट के शीर्ष पर कार्य करें -
इस उदाहरण में, औपचारिक और वास्तविक तर्क चर के प्रकार मेल नहीं खाते, जिसके परिणामस्वरूप TypeError ।
उदाहरण
<?php function add(int $first, int $second){ echo "addition: " . $first + second; } try { add('first', 'second'); } catch (TypeError $e) { echo $e->getMessage(), "\n"; } ?>
यह निम्नलिखित परिणाम देगा -
आउटपुट
Argument 1 passed to add() must be of the type integer, string given, called in C:\xampp\php\test.php on line 9
निम्नलिखित उदाहरण में, उपयोगकर्ता परिभाषित फ़ंक्शन को पूर्णांक डेटा लौटाना है, इसके बजाय यह एक सरणी लौटा रहा है, जो TypeError का कारण बनता है
उदाहरण
<?php function myfunction(int $first, int $second): int{ return array($first,$second); } try { $val=myfunction(10, 20); echo "returned data : ". $val; } catch (TypeError $e) { echo $e->getMessage(), "\n"; } ?>
आउटपुट
यह निम्नलिखित परिणाम देगा -
Return value of myfunction() must be of the type integer, array returned
लेखन त्रुटि PHP के अंतर्निर्मित फ़ंक्शन को तर्कों की गलत संख्या पारित करने पर भी फेंक दिया जाता है। हालांकि, सख्त_प्रकार=1 निर्देश शुरुआत में सेट किया जाना चाहिए
उदाहरण
<?php declare(strict_types=1); try{ echo pow(100,2,3); } catch (TypeError $e) { echo $e->getMessage(), "\n"; } ?>
आउटपुट
यह निम्नलिखित परिणाम देगा -
pow() expects exactly 2 parameters, 3 given