Differenza tra exit (0) e exit (1)

Autore: Laura McKinney
Data Della Creazione: 2 Aprile 2021
Data Di Aggiornamento: 5 Maggio 2024
Anonim
# 69 system.exit(0) vs system.exit(1) vs system.exit(-1) java |System.exit() in Java|Java|RedSysTech
Video: # 69 system.exit(0) vs system.exit(1) vs system.exit(-1) java |System.exit() in Java|Java|RedSysTech

Contenuto


Exit (0) e exit (1) sono le istruzioni jump di C ++ che fanno saltare il controllo da un programma mentre il programma è in esecuzione. Entrambe le funzioni, exit (0) ed exit (1), sono usate per uscire dal programma, ma c'è una differenza importante tra exit (0) e exit (1). L'uscita (0) mostra la conclusione corretta del programma e l'uscita (1) mostra la chiusura anomala del programma.

Lascia studiare la differenza tra exit (0) e exit (1) con l'aiuto della tabella di confronto.

  1. Tabella di comparazione
  2. Definizione
  3. Differenze chiave
  4. Conclusione

Tabella di comparazione

Base per il confrontoexit (0)uscita (1)
Di baseRiporta al sistema operativo la conclusione / completamento "riuscito / normale" del programma.Segnala al sistema operativo la chiusura "anomala" del programma.
Sintassiexit (0);exit (1);
IndicaIndica che l'attività è stata eseguita correttamente.Indica che l'attività è stata interrotta a causa dell'errore.
MacroEXIT_SUCCESSEXIT_FAILURE

Definizione di uscita (0)

La funzione exit (0) è un'istruzione jump di C ++. Viene utilizzato per terminare il programma o consentire al controllo di uscire dal programma. Segnala al sistema operativo la corretta conclusione del programma, il che indica al sistema operativo che l'attività del programma è stata completata correttamente. La macro utilizzata per il codice di ritorno "0" è "EXIT_SUCCESS", quindi è possibile utilizzarla in un modo exit (EXIT_SUCCESS). La forma generale della funzione exit (0) è: -


void exit (int return_code);

Qui, il parametro formale "return_code" è il valore che viene restituito alla funzione chiamante. Returen_code è sempre di tipo intero poiché il valore restituito alla funzione chiamante sarà zero o un valore diverso da zero. Exit (0) è una funzione di libreria standard, se stiamo usando exit (0) nel programma dobbiamo usare il file header .
Cerchiamo di capire exit (0) con un esempio: -

#includere // funzione libreria standard int main () {FILE * ptrFile; ptrFile = fopen ("myfile.txt", "r"); // apre il file in modalità di sola lettura if (ptrFile == NULL) {cout << "Errore nell'apertura del file"; uscita (1); // in alternativa puoi usare exit (EXIT_FAILURE)} exit (0); // in alternativa puoi usare exit (EXIT_SUCCESS)}

Nel codice sopra stiamo provando ad aprire un file chiamato "myfile.txt". Avevamo creato un puntatore al file "myfile.txt". Se esiste il file "myfile.txt", il puntatore punterà all'indirizzo di quel file e exit (0) verrà eseguito segnalando al sistema operativo che il file è stato aperto correttamente. Nel caso in cui il file non sia presente, il puntatore al file "myfile.txt" conterrà ora NULL e exit (1) verrà eseguito segnalando al sistema operativo che il file non si apre a causa di errori o altro.


Definizione di uscita (1)

La funzione exit (1) è anche un'istruzione jump di C ++. Anche l'uscita (1) termina il programma ma, in modo anomalo. L'uscita (1) segnala al sistema operativo che il programma non è stato eseguito correttamente o è stato interrotto tra l'esecuzione a causa di alcuni o altri errori. La funzione exit (1) è definita nella funzione di libreria standard, nel caso in cui si usi exit (1) nel programma è necessario menzionare in modo specifico il file di intestazione nella parte superiore del programma.
La macro per il codice di ritorno "1" è "EXIT_FAILURE", quindi può essere scritta in un modo "exit (EXIT_FAILURE)".
Ora comprendiamo la funzione exit (1) con l'aiuto del programma.

// pop l'elemento nella parte superiore dello stack int pop (int stack_name, int size, int Top) {if (Top == - 1) {cout << "stack is underflow"; exit (1); } else {int s = s; Superiore--; ritorna); }}

Qui, la funzione è definita per far apparire l'elemento nella parte superiore della pila, se la parte superiore della pila risulta vuota, ovvero la parte superiore è -1. Quindi l'attività di estrarre l'elemento più in alto nello stack non viene completata correttamente poiché lo stack è vuoto, quindi torniamo all'uscita (1). Indica che l'attività della funzione pop non è stata completata. Pertanto, l'esecuzione viene terminata in modo anomalo.

  1. L'unico return_code che indica la conclusione corretta del programma è "0". Per riportare la chiusura anomala del programma, possiamo usare qualsiasi valore diverso da "0", cioè possiamo usare "1", "2", "3" ... ciò significa che un valore diverso da zero indica una chiusura anomala del programma.
  2. Una macro può anche essere utilizzata al posto di return_code. Ad esempio, al posto di "0" è possibile utilizzare "EXIT_SUCCESS" mentre al posto di "1" è possibile utilizzare "EXIT_FAILURE".

Somiglianza:

  1. Sia exit (0) che exit (1), sono le istruzioni jump di C ++.
  2. Sia exit (0) che exit (1), vengono utilizzati per terminare il programma.
  3. Sia exit (0) che exit (1) sono definiti nel file di intestazione.
  4. Sia exit (0) che exit (1), riportano lo stato di terminazione del programma al sistema operativo.

Nota:

Se la funzione exit () non restituisce nulla, significa che non vuole rivelare al sistema operativo lo stato della conclusione del programma.

Conclusione:

Per segnalare lo stato della conclusione del programma, si usa una funzione exit (). Un'uscita (0) rivela al sistema operativo che l'attività del programma è stata completata con successo. Un'uscita (1) rivela che l'attività del programma non è stata completata e l'esecuzione del programma è stata interrotta in modo anomalo.