एक कार्यक्रम में मैंने गलती से closeHandle()
को म्यूटेक्स हैंडल पर दो बार बुलाया (जो हैंडल बंद कर दिया गया था) बंद कर दिया।क्या कुछ अपवाद त्रुटियां केवल डीबगर में होती हैं?
डीबगर में कोड चलाते समय, मुझे अपेक्षित त्रुटि An invalid HANDLE was specified.
प्राप्त हुई।
हालांकि, कार्यक्रम "सामान्य रूप से" अकेले स्टैंड (डीबगर के बाहर) के रूप में चलाना अपवाद प्रकट नहीं होता है या कोई अन्य त्रुटि नहीं होती है। कार्यक्रम सामान्य रूप से चल रहा प्रतीत होता है।
क्या यह सिर्फ विजुअल स्टूडियो .NET 2003 में एक सेटिंग है या इसके पीछे और कुछ है?
यह क्लोजहैंडल() के दस्तावेज़ का व्यवहार है। Http://msdn.microsoft.com/en-us/library/ms724211%28v=vs.85%29.aspx देखें: "यदि एप्लिकेशन डीबगर के तहत चल रहा है, तो फ़ंक्शन एक अपवाद फेंक देगा यदि यह या तो प्राप्त करता है वैल्यू को संभाल लें जो मान्य नहीं है या छद्म-हैंडल मान। " – user168715
शायद आप वीएस .NET में डीबग बिल्ड चला रहे हैं, लेकिन जब आप डबल-क्लिक करते हैं तो रिलीज बिल्ड चला रहे हैं? –
मैंने आवेषण के साथ समान व्यवहार देखा है। सशर्त संकलन यह कर सकता है। –