फेंक जबकि कुछ कोड मैं पर ठोकर खाई को देख:नई std :: अपवाद बनाम फेंक std :: अपवाद
throw /*-->*/new std::exception ("//...
और मुझे हमेशा यही लगता है कि आप की जरूरत नहीं है/आप new
यहाँ उपयोग नहीं करना चाहिए।
सही तरीका क्या है, ठीक है, अगर ऐसा कोई अंतर है?
बीटीडब्ल्यू जो मैं देख सकता हूं, "पावरशेल बूस्ट के साथ" grepping "libs कभी भी throw new
का उपयोग नहीं करता है।
पीएस मुझे कुछ सीएलआई कोड भी मिला जो throw gcnew
का उपयोग करता है। क्या वह ठीक है?
मुझे लगता है कि 'फेंकना gcnew' उपयोगी होगा उदाहरण के लिए। यदि आप अपने अपवाद को पकड़ने के लिए प्रबंधित कोड चाहते हैं। क्या कोई मुझे उस पर सही कर सकता है? – jpalecek
नेट पॉइंटर द्वारा अपवादों के साथ सौदा करता है, इसलिए जीसीएनयू फेंकना सही काम है। –
@ सेबेस्टियन रेडल .Net "सूचक" संदिग्ध हो सकता है? हालांकि gcnew निश्चित रूप से नहीं है। 'सिस्टम :: अपवाद' आमतौर पर एकत्रित ढेर पर एक प्रबंधित वस्तु का संदर्भ होता है। मैंने हमेशा 'gcnew' के साथ फेंक दिया है और' सिस्टम :: अपवाद^'के साथ पकड़ा है। बेशक मैं सी ++/सीएलआई में हर समय 'अंततः' का उपयोग करता हूं, हालांकि अक्सर 'प्रयास' ब्लॉक में सी ++ अपवादों के साथ मिश्रण नहीं करता है, मुझे यकीन नहीं है कि क्यों। –