PHP:
एरर्स को हैंडल करना

कैसे करें:

PHP में, आप try-catch ब्लॉक का उपयोग करके एरर्स को मैनेज कर सकते हैं, और आप कस्टम एरर हैंडलर्स और अपवादों के साथ प्रक्रिया को कस्टमाइज़ भी कर सकते हैं।

// मूल try-catch उदाहरण
try {
  // कुछ जोखिम भरा काम करें
  $file = fopen("nonexistentfile.txt", "r");
} catch (Exception $e) {
  // एरर को हैंडल करें
  echo "Error: " . $e->getMessage();
}

// कस्टम एरर हैंडलर सेट करना
set_error_handler(function($severity, $message, $file, $line) {
  throw new ErrorException($message, 0, $severity, $file, $line);
});

// अपवाद का उपयोग करना
class MyException extends Exception {}

try {
  // कुछ काम करें और कस्टम अपवाद फेंकें
  throw new MyException("कस्टम एरर!");
} catch (MyException $e) {
  // कस्टम अपवाद को हैंडल करें
  echo $e->getMessage();
}

// नमूना आउटपुट:
// एरर: fopen(nonexistentfile.txt): स्ट्रीम को खोलने में विफल: ऐसी कोई फ़ाइल या डायरेक्टरी नहीं है
// कस्टम एरर!

गहन अध्ययन

पहले के दिनों में, PHP एरर्स का अधिकांश भाग वार्निंग्स और नोटिसेज़ के बारे में था जो स्क्रिप्ट की निष्पादन को रोकते नहीं थे। जैसे-जैसे भाषा परिपक्व हुई, उसने PHP 5 में पेश किए गए एक्सेप्शन क्लास के माध्यम से और अधिक मजबूत वस्तु-उन्मुख एरर हैंडलिंग अपनाई। बाद में, PHP 7 एरर क्लासेस के साथ आई जिसने आखिरकार एरर्स और एक्सेप्शन्स के बीच की अंतर को निश्चित किया।

try-catch ब्लॉक से पहले, PHP set_error_handler() का उपयोग करके एरर्स का सामना करता था। try-catch अधिक स्वच्छ, आधुनिक है। लेकिन कस्टम एरर हैंडलर्स अभी भी अपनी जगह रखते हैं, खासकर पुराने कोड के लिए या जब आपको उन एरर्स को कैच करने की जरूरत होती है जो सामान्यत: नॉन-एक्सेप्शन एरर्स होते हैं।

PHP 7+ में Throwable इंटरफेस का मतलब यह है कि चाहे वह एरर हो या एक्सेप्शन, आप दोनों को कैच कर सकते हैं। यह उपयोगी है क्योंकि अब आप महत्वपूर्ण रनटाइम एरर्स को नहीं छूटते, जो पहले ट्रैक करने में कठिन थे।

PHP के बिल्ट-इन तंत्र के बाहर के विकल्पों में लाइब्रेरीज और फ्रेमवर्क्स शामिल हैं जिनके अपने एरर हैंडलिंग सिस्टम्स होते हैं, जो फाइलों में एरर लॉगिंग या उपयोगकर्ता-अनुकूल एरर पेजेस दिखाने जैसे अधिक सुविधाएँ प्रदान करते हैं।

यह भी देखें