Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> PHP

PHP TypeError

परिचय

TypeError क्लास Error क्लास को एक्सटेंड करती है। यह त्रुटि तब उठती है जब वास्तविक और औपचारिक आर्गुमेंट प्रकार मेल नहीं खाते, रिटर्न प्रकार घोषित रिटर्न प्रकार से मेल नहीं खाता, या किसी बिल्ट-इन फ़ंक्शन को अमान्य आर्गुमेंट पास किए जाते हैं।

ध्यान दें कि strict_types को declare() फ़ंक्शन के साथ स्क्रिप्ट के शीर्ष पर true पर सेट किया जाना चाहिए:

इस उदाहरण में, औपचारिक और वास्तविक आर्गुमेंट वेरिएबल के प्रकार मेल नहीं खाते, जिसके परिणामस्वरूप TypeError होता है।

उदाहरण 1

<?php
declare(strict_types=1);
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 होता है।

उदाहरण 2

<?php
declare(strict_types=1);
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

TypeError तब भी फेंका जाता है जब PHP के बिल्ट-इन फ़ंक्शन को गलत संख्या में आर्गुमेंट पास किए जाते हैं। हालांकि, शुरुआत में strict_types=1 डायरेक्टिव सेट होना चाहिए।

उदाहरण 3

<?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

नोट: declare(strict_types=1) फ़ाइल के शीर्ष पर होना चाहिए (कोई आउटपुट/कोड से पहले)। यह स्केलर टाइप डिक्लेरेशन (int, float, string, bool) और रिटर्न टाइप डिक्लेरेशन को सख्ती से लागू करता है।

  1. - PHP DivisionByZeroError

    परिचय DivisionByZeroError क्लास ArithmeticError क्लास की सबक्लास है। इस प्रकार की त्रुटि तब होती है जब विभाजन ऑपरेशन में हर का मान शून्य होता है। यह तब भी हो सकता है जब मोडुलो ऑपरेटर (%) का दूसरा ऑपरेंड 0 हो, और intdiv() फ़ंक्शन का दूसरा आर्गुमेंट 0 हो। DivisionByZeroError उदाहरण पहले उदाहरण में, ह

  1. - PHP टैग्स (Tags) - कैननिकल, शॉर्ट और इको टैग

    परिभाषा और उपयोग एक PHP कोड स्क्रिप्ट एक टेक्स्ट फ़ाइल है जिसका एक्सटेंशन .php होता है और यह वेब सर्वर पर संग्रहीत होती है। सर्वर पर PHP पार्सर विशेष वर्ण अनुक्रम <?php और ?> की तलाश करता है। इन्हें PHP के प्रारंभिक और समापन टैग कहा जाता है। इन दोनों के भीतर के स्टेटमेंट पार्सर द्वारा व्याख्य

  1. - PHP pi() फ़ंक्शन - π मान प्राप्त करना

    PHP का pi() फ़ंक्शन गणितीय स्थिरांक **π (पाई)** का मान लौटाता है। यह M_PI स्थिरांक के समान मान (3.1415926535898) देता है। सिंटैक्स pi(): float पैरामीटर्स कोई पैरामीटर नहीं। लौटाया गया मान π का मान (फ्लोट)। M_PI स्थिरांक के बराबर। उदाहरण 1. वृत्त का क्षेत्रफल: πr² <?php $radius = 5; echo area