मैं यह पता लगाने की कोशिश कर रहा हूं कि PHP में throw new Exception
के बाद स्थित कोड अभी भी निष्पादित है या नहीं - मैंने कोशिश की है और यह कुछ भी आउटपुट प्रतीत नहीं होता है लेकिन निश्चित रूप से जानना चाहता है।क्या 'नया अपवाद फेंक' को बाहर निकलने की आवश्यकता है()?
17
A
उत्तर
32
नहीं, अपवाद फेंकने के बाद कोड निष्पादित नहीं किया गया है।
try {
throw new Exception("caught for demonstration"); // 1
// code below inside the try{} block is never executed
echo "you won't read this." . PHP_EOL;
} catch (Exception $e) {
// you may want to react on the Exception here
echo "exception caught!" . PHP_EOL; // 2
}
// execution flow continues here, because Exception above has been caught
echo "yay, lets continue!" . PHP_EOL; // 3
throw new Exception("uncaught for demonstration"); // 4, end
// execution flow never reaches this point because of the Exception thrown above
// results in "Fatal Error: uncaught Exception ..."
echo "you won't see me, too" . PHP_EOL;
PHP manual on exceptions देखें::
इस कोड उदाहरण में मैं संख्या के साथ लाइनों जो क्रियान्वित किया जा सकता है (कोड प्रवाह) चिह्नित
जब एक अपवाद फेंक दिया जाता है, बयान निम्नलिखित कोड होगा निष्पादित नहीं किया जाएगा, और PHP पहले मेल खाने वाले कैच ब्लॉक को खोजने का प्रयास करेगा। यदि कोई अपवाद नहीं पकड़ा जाता है, तो एक PHP घातक त्रुटि "अनकॉच अपवाद ..." संदेश के साथ जारी की जाएगी, जब तक कि एक हैंडलर को
set_exception_handler()
के साथ परिभाषित नहीं किया गया हो।
3
नहीं, throw
कथन के बाद कोड निष्पादित नहीं किया गया है। return
की तरह।
संबंधित मुद्दे
- 1. स्थापना बाहर निकलने के कोड एक अपवाद
- 2. क्या मुझे हेडर के बाद बाहर निकलने की आवश्यकता है ("स्थान: http: // localhost/...") ;?
- 3. कार्यक्रम बाहर निकलने के
- 4. बाहर निकलने से पहले फ़ाइल डिस्क्रिप्टर को बंद करने की आवश्यकता है?
- 5. विज़ुअलकोलेक्शन रेंज अपवाद से बाहर फेंक रहा है, अवलोकन संग्रह
- 6. बाहर निकलने और बाहर निकलने के बीच क्या अंतर है! रूबी में?
- 7. फेंक अपवाद
- 8. फेंक अपवाद
- 9. नया अपवाद क्या है या फेंकना है?
- 10. क्यों मेरे अपवाद वर्ग को क्रमबद्ध करने की आवश्यकता है?
- 11. StringBuilder.ToString() एक 'सूचकांक सीमा से बाहर' फेंक अपवाद
- 12. बाहर निकलने पर डबल पुष्टिकरण
- 13. एंड्रॉयड बाहर निकलने SQLite खोल
- 14. पायथन Multiprocessing बाहर निकलने त्रुटि
- 15. क्या आप अंततः ब्लॉक को चलाते हैं, भले ही आप एक नया अपवाद फेंक दें?
- 16. UIDocumentInteractionController बाहर निकलने पर क्रैशिंग
- 17. क्यूटी एप्लिकेशन बाहर निकलने की घटना रद्द करें
- 18. क्या मुझे std :: fstream को बंद करने की आवश्यकता है?
- 19. सिस्टम के बाहर क्या अपवाद स्ट्रिंग = स्ट्रिंग फेंक सकता है। OutOfMemoryException?
- 20. बाहर निकलने और वापसी के बीच क्या अंतर है?
- 21. System.Drawing.Icon निर्माता फेंक अपवाद
- 22. matlab बाधा फेंक अपवाद
- 23. कस्टम अपवाद फेंक
- 24. रिटर्न त्रुटि और अपवाद फेंक
- 25. जब एक अपवाद फेंक दिया है
- 26. बाहर निकलने के कार्यक्रम पर एंड्रॉइड एप्लिकेशन
- 27. नई std :: अपवाद बनाम फेंक std :: अपवाद
- 28. अपवाद फेंकने और हास्केल में प्रोग्राम से बाहर निकलने के लिए कैसे?
- 29. कस्टम अपवाद फेंक दिया गया है अगर कस्टम अपवाद
- 30. कॉमन्स सीएलआई को समूहों की आवश्यकता है
मुझे आश्चर्य है कि अपवाद का बिंदु क्या है यदि यह एक स्टैक-अवांछित नहीं होता है (उचित परिस्थितियों, जैसे 'पकड़', इसे अवांछित स्टैक से रोकें) ... –
_ जब कोई अपवाद होता है फेंक दिया गया, कथन के बाद कोड निष्पादित नहीं किया जाएगा, और PHP पहले मिलान करने वाले पकड़ ब्लॉक को खोजने का प्रयास करेगा। यदि कोई अपवाद नहीं पकड़ा जाता है, तो एक PHP घातक त्रुटि "अनकॉच अपवाद ..." संदेश के साथ जारी की जाएगी, जब तक कि एक हैंडलर set_exception_handler() ._ [दस्तावेज़ों से।] (Http: // php। शुद्ध/मैनुअल/en/language.exceptions.php) –