No, non ci siamo capiti... Prendi questo programma:
codice:int main() { // istruzioni varie // ... istruzione_che_puo_creare_problemi; if(tutto_ok) exit(0); else exit(1); }
Quindi non si mette exit(0) per segnalare che il codice è stato scritto correttamente: tutto il codice che viene rilasciato dovrebbe essere corretto!
Si mette per segnalare al chiamante (che può essere un programma di livello superiore) che l'esecuzione è andata a buon fine.
Altro esempio: supponiamo che io scriva un programma bellissimo che legge il contenuto di un file, fa alcune operazioni e poi termina. Tutto bene, ma cosa succede se il file che devo leggere non esiste? Potevo prevederlo in fase di scrittura del codice? No, quindi metto una gestione per le eccezioni, che sia in grado di affrontare anche questa eventualità, segnalando un errore. Se invece il file c'è, riesco a leggerlo, eccetera, allora tutto andrà per il verso giusto e il programma terminerà con una bella exit(0).

Rispondi quotando