मेरे पास कुछ सी ++ कोड है जो एक बहुत ही मानक अपवाद पैटर्न का उपयोग करता है:मेरे सी ++ अपवाद क्यों नहीं पकड़े जा रहे हैं?
try {
// some code that throws a std::exception
}
catch (std::exception &e) {
// handle the exception
}
समस्या यह है कि अपवाद नहीं पकड़े जा रहे हैं और मैं यह नहीं समझ सकता कि क्यों।
कोड ओएस एक्स (एक्सकोड के माध्यम से) में एक स्थिर लाइब्रेरी में संकलित करता है। लाइब्रेरी को कोको एप्लिकेशन में जोड़ा गया है, जिसमें उद्देश्य-सी ++ थंक के माध्यम से होने वाले प्रश्न में फ़ंक्शन को कॉल किया गया है। मुझे संदेह है कि उद्देश्य-सी और सी ++ के बीच इंटरप्ले अपराधी है लेकिन इसे पिन करने के मेरे सभी प्रयास विफल हो गए हैं।
मैं एक साधारण उदाहरण बनाने में सक्षम नहीं हूं जो इस व्यवहार को एक साधारण उदाहरण में पुन: उत्पन्न करता है। जब मैं अपने बड़े कार्यक्रम के संदर्भ से प्रासंगिक कोड लेता हूं तो सब कुछ काम करता है।
क्या कोई सुझाव दे सकता है कि मेरे अपवाद क्यों नहीं पकड़े जा रहे हैं?
आपको यह सोचने के लिए क्या सबूत हैं कि एक अपवाद फेंक दिया जा रहा है? आपके पास क्या सबूत हैं कि यह 'std :: अपवाद 'से निकला है? (यह नहीं कह रहा कि आप गलत हैं, लेकिन यहां जानकारी की एक अलग कमी है) –