पीएचपी त्रुटि प्रबंधन

| | | | | | | | | | | | | | | | | | |
PHP त्रुटि प्रबंधन विधियाँ:
  • डाई() विधि का उपयोग करना
  • कस्टम त्रुटि प्रबंधन
बुनियादी त्रुटि प्रबंधन: का उपयोग करना die() फ़ंक्शनdie() फ़ंक्शन एक संदेश प्रिंट करता है और वर्तमान स्क्रिप्ट से बाहर निकलता है।सिंटैक्स:
die ($message)
उदाहरण:< /बी> <कोड> <कोड>
// PHP कोड डिफ़ॉल्ट त्रुटि प्रबंधन दिखा रहा है$file = fopen ( "engineer.txt" , "w" ); ?> ध्यान दें।उपरोक्त कोड चलाएँ और engineer.txt फ़ाइल गायब है , और फिर एक रनटाइम त्रुटि प्रदर्शित होगी।
रनटाइम त्रुटि:
PHP चेतावनी: fopen (engineer.txt): स्ट्रीम खोलने में विफल: /home/dac923dff0a2558b37ba742613273073.php में अनुमति अस्वीकृत लाइन 2 पर
इस त्रुटि को रोकने के लिए, die() फ़ंक्शन का उपयोग करें। डाई () फ़ंक्शन नीचे लागू किया गया है:उदाहरण:<टेबल बॉर्डर = "0" सेलपैडिंग = "0" सेलस्पेसिंग = "0"> <कोड>
// PHP कोड त्रुटियों के लिए जाँच करने के लिए
// यदि कोई फ़ाइल नहीं है
// फिर स्क्रिप्ट से बाहर निकलेंअगर (! file_exists ( code> "engineer.txt" )) { die ( " फ़ाइल मौजूद नहीं है " ); }
// अगर फ़ाइल मौजूद है
// फिर जारी रखेंअन्यथा { $file = fopen ( " Engineer.txt " , " w " ); }
?>
ध्यान दें।अगर फाइल इंजीनियर है .txt गायब है, यह आउटपुट प्रदर्शित करेगा।
बाहर निकलें
फ़ाइल मौजूद नहीं है
कस्टम त्रुटि हैंडलर:कस्टम बनाना PHP में एरर हैंडलर बहुत आसान है। एक फ़ंक्शन बनाएं जिसे PHP में त्रुटि होने पर कॉल किया जा सके।सिंटैक्स:
error_function ($error_level, $error_message, $error_file, $error_line, $error_context)
पैरामीटर:यह फ़ंक्शन ऊपर बताए अनुसार पांच पैरामीटर लेता है और नीचे वर्णित है:
  • $error_level: यह एक आवश्यक पैरामीटर है और एक पूर्णांक होना चाहिए। पूर्वनिर्धारित त्रुटि स्तर हैं।
  • $error_message:यह एक आवश्यक पैरामीटर है और यह वह संदेश है जिसे उपयोगकर्ता प्रिंट करना चाहता है।
  • $ error_file: एक वैकल्पिक पैरामीटर है जिसका उपयोग उस फ़ाइल को निर्दिष्ट करने के लिए किया जाता है जहां त्रुटि हुई।
  • $error_line:एक वैकल्पिक पैरामीटर है जिसका उपयोग उस लाइन नंबर को निर्दिष्ट करने के लिए किया जाता है जहां त्रुटि हुई है। हुआ।
  • $error_context:यह एक वैकल्पिक पैरामीटर है जिसका उपयोग एक ऐसी सरणी निर्दिष्ट करने के लिए किया जाता है जिसमें त्रुटि होने पर प्रत्येक चर और उनका मान होता है।
error_level:ये संभावित त्रुटि स्तर हैं, जो नीचे सूचीबद्ध हैं:
  • 1: .E_ERROR: घातक रन-टाइम त्रुटि रोक दी गई
  • 2: E_WARNING: गैर- घातक रनटाइम त्रुटि, स्क्रिप्ट निष्पादन रोक दिया गया
  • 4: E_PARSE: पार्सर द्वारा उत्पन्न संकलन-समय त्रुटि
  • 8: E_NOT ICE: स्क्रिप्ट में कुछ ऐसा हुआ जो त्रुटि हो सकती है
  • 16: E_CORE_ERROR: स्क्रिप्ट के शुरुआती रन के दौरान हुई घातक त्रुटियां
  • 32: E_CORE_WARNING: गैर-घातक त्रुटियां जो प्रारंभिक स्क्रिप्ट चलाने के दौरान हुईं
  • 8191: E_ALL: सभी त्रुटियां और चेतावनियां
set_error_handler() फ़ंक्शन: myerror() फ़ंक्शन बनाने के बाद, आपको कस्टम हैंडलर त्रुटियों को स्थापित करने की आवश्यकता है क्योंकि PHP सामान्य रूप से इसे संभालती है, लेकिन यदि उपयोगकर्ता कस्टम त्रुटि प्रबंधन कर रहा है तो उपयोगकर्ता को इसे तर्क के बजाय सेट करना चाहिए और myerror फ़ंक्शन को एक स्ट्रिंग के रूप में पास करें।उदाहरण:
// मेरी त्रुटि फ़ंक्शन बनाएं जो संदेश प्रिंट करता है
// उपयोगकर्ताफ़ंक्शन myerror ( $error_no , $error_msg ) { echo "त्रुटि: [$error_no] $error_msg" ; echo code> "अब स्क्रिप्ट खत्म हो जाएगी" ; // अगर कोई त्रुटि होती है, तो स्क्रिप्ट रोका जाए मरना (); }
// set_error_handler सेट करनाset_error_handler ( "myerror" ); $a = 10; $b = 0;
// एक त्रुटि उत्पन्न करेंecho ( $a / $b ) ;; ?>
आउटपुट:
त्रुटि: [2] डिवीजन b y शून्य अब स्क्रिप्ट समाप्त हो जाएगी
आउटपुट:हमेशा कस्टम त्रुटि प्रबंधन का उपयोग करके त्रुटियों को संभालने का प्रयास करें क्योंकि यह उपयोगकर्ता के अनुसार अधिक विशिष्ट संदेश दिखाएगा, जो उपयोगकर्ता के लिए उपयोगी हो सकता है। यदि त्रुटि को कस्टम त्रुटि प्रबंधन के साथ नियंत्रित नहीं किया जाता है, तो एक त्रुटि होती है, तो स्क्रिप्ट डिफ़ॉल्ट रूप से रोक दी जाएगी, लेकिन यदि यह कस्टम त्रुटि प्रबंधन के साथ त्रुटि को संभालती है, तो यह त्रुटि संदेश प्रदर्शित करने के बाद स्क्रिप्ट को जारी रख सकती है।