फ़ंक्शन set_error_handler

फ़ंक्शन set_error_handler एक उपयोगकर्ता-परिभाषित त्रुटि हैंडलर सेट करता है। पहले पैरामीटर में एक कॉलबैक फ़ंक्शन पास किया जाता है, जो त्रुटि होने पर कॉल किया जाएगा। दूसरे वैकल्पिक पैरामीटर के साथ, उन त्रुटि प्रकारों को निर्दिष्ट किया जा सकता है जिन्हें हैंडलर को इंटरसेप्ट करना चाहिए।

वाक्य रचना

phpset_error_handler(callable $error_handler, int $error_types = E_ALL | E_STRICT);

उदाहरण

एक कस्टम त्रुटि हैंडलर का सरल उदाहरण:

php<?php
  function customError($errno, $errstr, $errfile, $errline) {
    echo "त्रुटि [$errno]: $errstr, फ़ाइल $errfile में लाइन $errline पर";
  }
  
  set_error_handler("customError");
  
  echo $undefinedVar;
?>

कोड निष्पादन का परिणाम:

phpत्रुटि [8]: अपरिभाषित चर: undefinedVar, फ़ाइल /path/to/file.php में लाइन 7 पर

उदाहरण

केवल विशिष्ट प्रकार की त्रुटियों को संभालना:

php<?php
  function warningHandler($errno, $errstr) {
    if ($errno === E_WARNING) {
      echo "चेतावनी कैप्चर की गई: $errstr";
    }
  }
  
  set_error_handler("warningHandler", E_WARNING);
  
  strpos(); // एक चेतावनी उत्पन्न करेगा
?>

कोड निष्पादन का परिणाम:

phpचेतावनी कैप्चर की गई: strpos() को कम से कम 2 पैरामीटर की अपेक्षा है, 0 दिए गए

उदाहरण

मानक त्रुटि हैंडलर पर वापसी:

php<?php
  set_error_handler(null); // मानक हैंडलर पर वापसी
?>