मेरे पास कुछ सी कोड है जिसके साथ मैं काम कर रहा हूं, और जब कोड चल रहा है तो मुझे त्रुटियां मिल रही हैं लेकिन उचित प्रयास/पकड़ (सी # या सी ++ में) के बारे में कम जानकारी है।एएनएसआई सी कोशिश/पकड़ के बराबर?
सी में उदाहरण के लिए ++ मैं बस करना चाहते हैं:
try{
//some stuff
}
catch(...)
{
//handle error
}
लेकिन एएनएसआई सी में मैं थोड़ा खो रहा हूँ। मैंने कुछ ऑनलाइन खोजों की कोशिश की लेकिन मुझे यह समझने/समझने के बारे में पर्याप्त जानकारी नहीं दिखाई दे रही है कि अगर कोई मुझे सही दिशा में इंगित कर सकता है तो मैं यहां पूछूंगा।
यहां कोड है जिसके साथ मैं काम कर रहा हूं (काफी सरल, पुनरावर्ती विधि) और कोशिश/पकड़ (या समकक्ष त्रुटि-संचालन संरचना) के साथ लपेटना चाहूंगा।
हालांकि मेरा मुख्य प्रश्न यह है कि एएनएसआई सी में कोशिश/पकड़ कैसे करें ... कार्यान्वयन/उदाहरण को रिकर्सिव नहीं होना चाहिए।
void getInfo(int offset, myfile::MyItem * item)
{
ll::String myOtherInfo = item->getOtherInfo();
if(myOtherInfo.isNull())
myOtherInfo = "";
ll::String getOne = "";
myfile::Abc * abc = item->getOrig();
if(abc != NULL)
{
getOne = abc->getOne();
}
for(int i = 0 ; i < offset ; i++)
{
printf("found: %d", i);
}
if(abc != NULL)
abc->release();
int childCount = item->getChildCount();
offset++;
for(int i = 0 ; i < childCount ; i++)
getInfo(offset, item->getChild(i));
item->release();
}
http://www.nicemice.net/cexcept/ कुछ उपयोगी हो सकता है – anijhaw
यह कोड सी, ansi या अन्यथा नहीं है। सी में '::' स्कोप ऑपरेटर नहीं है। –
सी में तंत्र को संभालने के अपवाद नहीं हैं। सभी त्रुटि हैंडलिंग आमतौर पर रिटर्न वैल्यू और इरनम वैरिएबल के साथ की जाती है। बीटीडब्ल्यू, कुछ विस्तृत विशेषज्ञ टिप्पणियां प्राप्त करना अच्छा होगा कि कैसे सी में हैंडलिंग ठीक से किया जाता है :) – Kel