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

अंत में पीएचपी अपवाद हैंडलिंग

परिचय

कोड आखिरकार . में ब्लॉक हमेशा निष्पादित हो जाएगा कि क्या ry ब्लॉक में कोई अपवाद है या नहीं। यह ब्लॉक या तो कैच ब्लॉक के बाद या कैच ब्लॉक के बजाय दिखाई देता है।

पकड़ें और अंत में ब्लॉक करें

निम्नलिखित उदाहरण में, कैच और अंत में ब्लॉक दोनों दिए गए हैं। यदि प्रयास ब्लॉक में निष्पादन होता है, तो दोनों में कोड निष्पादित होता है। यदि कोई अपवाद नहीं है, तो केवल अंत में ब्लॉक निष्पादित किया जाता है।

उदाहरण

<?php
function div($x, $y) {
   if (!$y) {
      throw new Exception('Division by zero.');
   }
   return $x/$y;
}
try {
   echo div(10,0) . "\n";
} catch (Exception $e) {
   echo 'Caught exception: ', $e->getMessage(), "\n";
}
finally{
   echo "This block is always executed\n";
}
// Continue execution
echo "Execution continues\n";
?>

आउटपुट

निम्न आउटपुट प्रदर्शित होता है

Caught exception: Division by zero.
This block is always executed
Execution continues

ट्राई ब्लॉक में स्टेटमेंट बदलें ताकि कोई अपवाद न हो

उदाहरण

<?php
function div($x, $y) {
   if (!$y) {
      throw new Exception('Division by zero.');
   }
   return $x/$y;
}
try {
   echo div(10,5) . "\n";
} catch (Exception $e) {
   echo 'Caught exception: ', $e->getMessage(), "\n";
}
finally{
   echo "This block is always executed\n";
}
// Continue execution
echo "Execution continues\n";
?>

आउटपुट

निम्न आउटपुट प्रदर्शित होता है

2
This block is always executed
Execution continues

आखिरकार केवल ब्लॉक करें

निम्नलिखित उदाहरण में दो प्रयास ब्लॉक हैं। उनमें से एक ने केवल अंत में ब्लॉक किया है। इसका ट्राई ब्लॉक डिव फंक्शन को कॉल करता है जो एक अपवाद फेंकता है

उदाहरण

<?php
function div($x, $y){
   try{
      if (!$y) {
         throw new Exception('Division by zero.');
      }
      return $x/$y;
   }
   catch (Exception $e) {
      echo 'Caught exception: ', $e->getMessage(), "\n";
   }
}
try {
   echo div(10,0) . "\n";
}
finally{
   echo "This block is always executed\n";
}
// Continue execution
echo "Execution continues\n";
?>

आउटपुट

निम्न आउटपुट प्रदर्शित होता है

Caught exception: Division by zero.
This block is always executed
Execution continues

  1. जावा में ट्राई कैच के साथ एक्सेप्शन हैंडलिंग

    यहां तक ​​कि सबसे अच्छे प्रोग्रामर भी अपने कोड में गलतियां करते हैं। टाइपो, अनपेक्षित उपयोगकर्ता इनपुट, या कई अन्य कारणों से त्रुटि हो सकती है जिन्हें ट्रैक करना मुश्किल है। यही वह जगह है जहां अपवाद हैंडलिंग आती है। अच्छे कोड में अपवाद हैंडलर शामिल होते हैं, जो पूर्वनिर्धारित तरीके से कोड में त्र

  1. C++ में एक्सेप्शन हैंडलिंग बेसिक्स

    सी ++ में, अपवाद हैंडलिंग रनटाइम त्रुटियों को संभालने की एक प्रक्रिया है। अपवाद एक घटना है जिसे सी ++ में रनटाइम पर फेंक दिया जाता है। सभी अपवाद std::Exception वर्ग से लिए गए हैं। यह एक रनटाइम त्रुटि है जिसे संभाला जा सकता है। अगर हम अपवाद को हैंडल नहीं करते हैं तो यह अपवाद संदेश को प्रिंट करता है औ

  1. बचाव ब्लॉक के बाहर रूबी अपवादों के साथ कार्य करना

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