वास्तव में पहला मौका अपवाद क्या है? .NET प्रोग्राम में यह कैसे और कहाँ उत्पन्न होता है? और इसे उस अजीबोगरीब नाम से क्यों पुकारा जाता है (हम किस 'मौका' की बात कर रहे हैं)?
वास्तव में पहला मौका अपवाद क्या है? .NET प्रोग्राम में यह कैसे और कहाँ उत्पन्न होता है? और इसे उस अजीबोगरीब नाम से क्यों पुकारा जाता है (हम किस 'मौका' की बात कर रहे हैं)?
जवाबों:
यह एक डिबगिंग कॉन्सेप्ट है। मूल रूप से अपवाद डीबगर के लिए पहले और फिर वास्तविक कार्यक्रम में फेंक दिए जाते हैं, जहां अगर इसे नहीं संभाला जाता है, तो इसे दूसरी बार डिबगर में फेंक दिया जाता है , जिससे आपको आवेदन से पहले और बाद में अपने आईडीई में इसके साथ कुछ करने का मौका मिलता है। यह एक Microsoft Visual Studio आविष्कार प्रतीत होता है।
catch
, तो नियंत्रण वहां जाता है। यदि कोई catch
ब्लॉक नहीं है, तो आपको "दूसरा-मौका" ब्रेक मिलता है, इस बार संदेश YourApp.exe में 'foo' प्रकार का एक बिना अपवाद वाला अपवाद है । यहां से, आगे बढ़ने या आगे बढ़ने की कोशिश सफल नहीं होगी।
पहला मौका अपवाद अपवादों को उठाया जाता है जब एक अपवाद फेंक दिया जाता है। दूसरा मौका नोटिफिकेशन तब आता है जब वह पकड़ा नहीं जाता है। (संभावना - डिबगर में कोड में तोड़ने के अवसर के रूप में)।
मैंने बस डिबगर का उपयोग करना शुरू कर दिया और इसमें भाग गया। अपने शोध में, मैंने MSDN ब्लॉग पोस्ट पाया कि पहला मौका अपवाद क्या है?यह मेरे लिए मंजूरी दे दी।
मेरे लिए ब्लॉग पोस्ट से बड़े takeaways यह है कि यह डिबगर के लिए अधिसूचना को संदर्भित करता है, और न कि मेरे कोड को संभालने के लिए कुछ जरूरी होगा, और सबसे महत्वपूर्ण बात, "सबसे पहले मौका अपवाद संदेशों का अक्सर मतलब नहीं होता है कि इसमें कोई समस्या है कोड। "
जब किसी एप्लिकेशन को डीबग किया जा रहा होता है, तो डिबगर को जब भी अपवाद मिलता है, सूचित किया जाता है। इस बिंदु पर, आवेदन निलंबित है और डिबगर यह तय करता है कि अपवाद को कैसे संभालना है। इस तंत्र के पहले पास को "पहला मौका" अपवाद कहा जाता है।
डीबगर के कॉन्फ़िगरेशन के आधार पर, यह या तो एप्लिकेशन को फिर से शुरू करेगा और अपवाद को पारित करेगा या यह निलंबित किए गए एप्लिकेशन को छोड़ देगा और डीबग मोड दर्ज करेगा। यदि एप्लिकेशन अपवाद को संभालता है, तो यह सामान्य रूप से चलता रहता है।
पहला मौका अपवाद संदेश सबसे अधिक बार इसका मतलब यह नहीं है कि कोड में कोई समस्या है। ऐसे एप्लिकेशन / कंपोनेंट्स के लिए जो अपवादों को बखूबी संभालते हैं, पहले मौका अपवाद संदेशों ने डेवलपर को यह बता दिया कि एक असाधारण स्थिति का सामना करना पड़ा और उसे संभाला गया।
एक डेवलपर के दृष्टिकोण से, यह दूसरे-मौका अपवाद से अधिक है, क्योंकि इसका मतलब यह होगा कि यह कोड में संभाला नहीं गया था ; इसलिए आवेदन बंद हो जाएगा।
पहला मौका उनमें से कई हो सकता है, लेकिन एक विकास के दृष्टिकोण से, फिर से अधिक चिंता करने के लिए, दूसरा मौका है, क्योंकि यह एक आवेदन दुर्घटना का कारण होगा।
finally
। एक बार सिस्टम ने तय कर लिया कि अपवाद को पकड़ने वाला कौन है (और निर्धारित किया कि कोई वास्तव में जा रहा है), सिस्टम स्टैक को खोलना शुरू कर देगा। ध्यान दें कि अगर एक अपवाद एकfinally
ब्लॉक से फेंका जाता है ...