Сразу извиняюсь за глупые вопросы: я не программист, просто надо написать маленькую программу для себя.
Проблема такая. В процессе движения по коду постоянно открываются новые файлы и прочее, что нуждается в «закрытии». При этом постоянно нужно отслеживать ошибки. В итоге получается код типа такого:
...
if (!(f = fopen(...))) {
return 1;
}
...
if (!(g = log_open(...))) {
fclose(f);
return 1;
}
...
if (!(h = door_open(...))) {
log_close(g);
fclose(f);
return 1;
}
...
...
...
if (!(z = mind_open(...))) {
...
door_close(h);
log_close(g);
fclose(f);
return 1;
Как нормальные программисты это организуют? Не предлагать писать не на Си, пожалуйста.