ANSI C эквивалент попробовать / поймать?

У меня есть некоторый код C, с которым я работаю, и я нахожу ошибки, когда код выполняется, но у меня мало информации о том, как сделать правильную попытку / перехват (как в C # или C ++).

Например, в C ++ я бы просто сделал:

try{
//some stuff
}
catch(...)
{
//handle error
}

но в ANSI C я немного растерялся. Я пробовал некоторые онлайн-поиски, но я не вижу достаточно информации о том, как это сделать / решил, что я спрошу здесь на случай, если кто-нибудь может указать мне правильное направление.

Вот код, с которым я работаю (довольно простой рекурсивный метод) и который я хотел бы обернуть с помощью try / catch (или эквивалентной структуры обработки ошибок).

Однако мой главный вопрос - просто как сделать попытку / поймать в ANSI C ... реализация / пример не должны быть рекурсивными.

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();
}

Ответы на вопрос(8)

Ваш ответ на вопрос