ANSI C equivalente a try / catch?
Tenho um código C em que estou trabalhando e encontro erros quando o código está em execução, mas tenho poucas informações sobre como executar uma tentativa / captura adequada (como em C # ou C ++).
Por exemplo, em C ++, eu apenas faria:
try{
//some stuff
}
catch(...)
{
//handle error
}
mas no ANSI C estou um pouco perdido. Eu tentei algumas pesquisas on-line, mas não vejo informações suficientes sobre como fazer isso / pensei em perguntar aqui, caso alguém possa me apontar na direção certa.
Aqui está o código com o qual estou trabalhando (método bastante simples e recursivo) e gostaria de agrupar com try / catch (ou estrutura equivalente de tratamento de erros).
No entanto, minha pergunta principal é simplesmente como fazer uma tentativa / captura em ANSI C ... a implementação / exemplo não precisa ser recursiva.
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();
}