संक्षेप में, जवाब हाँ है, यह संभव है।
उदाहरण के लिए - यदि अपवाद वर्ग को एक बड़ी वस्तु को फ़ील्ड के रूप में प्रारंभ करने की आवश्यकता होती है, लेकिन इसे आवंटित करने के लिए पर्याप्त स्मृति नहीं है, तो आपको एक अपवाद ऑब्जेक्ट मिलेगा जो OutOfMemoryException
फेंक देगा।
अपवाद किसी भी अन्य वर्ग की तरह हैं और स्वयं अपवाद फेंक सकते हैं। उस भाषा में कुछ भी नहीं है जो इसे अस्वीकार करता है।
हालांकि, मैं कहूंगा कि एक अपवाद वर्ग से अपवाद फेंकना यह बुरा अभ्यास है और आम तौर पर इससे बचा जाना चाहिए।
अपडेट: (अद्यतन सवाल के बाद)
आप एक try
ब्लॉक में एक अपवाद वस्तु instantiating रहे हैं, तो catch
वे इसके शिकार हो (यह मानते हुए यह अपवाद का उपयुक्त प्रकार पकड़ता)। यदि आप इसे catch
ब्लॉक में तुरंत चालू कर रहे हैं, तो आप इसे नेस्टेड try{}catch{}
में करना चाहेंगे - यह कैच ब्लॉक में उपयोग किए जाने वाले कोड के लिए काफी सामान्य है जो अपवाद फेंक सकता है।
जैसा कि अन्य ने कहा है - कुछ अपवादों को पकड़ा नहीं जाना चाहिए (उदाहरण के लिए OutOfMemory
या अप्रत्याशित StackOverflow
), क्योंकि आपके पास उनसे निपटने का कोई तरीका नहीं है।
क्या आप अपना प्रश्न साफ़ कर सकते हैं। क्या यह अपवाद नया/बनाया गया है? क्या यह पकड़ ब्लॉक में है? –
कृपया ऊपर मेरा संशोधन देखें। धन्यवाद। – xport
दिमाग में सावधान रहें। सभी अपवाद नहीं हो सकते हैं और उन्हें संभाला जाना चाहिए। कुछ गलत तर्क या बग के लिए संकेत हैं। –