Verschil tussen exit(0) en exit(1) in Python

Wat is het verschil tussen exit(0)en exit(1)in Python?

Ik heb geprobeerd rond te kijken, maar vond geen specifieke vraag over deze regels. Als het al is beantwoord, is een link voldoende.


Antwoord 1, autoriteit 100%

0 en 1 zijn de exit-codes.

exit(0)betekent een schone exit zonder fouten / problemen

exit(1)betekent dat er een probleem/fout/probleem was en daarom wordt het programma afgesloten.

Dit is niet specifiek voor Python en komt vrij vaak voor. Een exit-code die niet nul is, wordt behandeld als een abnormale exit en soms geeft de foutcode aan wat het probleem was. Een foutcode nul betekent een succesvolle exit.

Dit is handig voor andere programma’s, shell, beller enz. om te weten wat er met uw programma is gebeurd en dienovereenkomstig te werk te gaan.


Antwoord 2, autoriteit 7%

Dit bepaalt de eindstatusvan het programma wanneer het klaar is met draaien (meestal 0 voor succes en 1 voor fout).

Het is niet uniek voor Python, en het exacte effect hangt af van je besturingssysteem en hoe het programma wordt aangeroepen (hoewel 99% van de tijd, als je alleen Python-scripts gebruikt, het er niet toe doet).


Antwoord 3, autoriteit 5%

De standaardconventie voor alle C-programma’s, inclusief Python, is voor exit(0)om succes aan te geven, en exit(1)of een andere waarde die niet nul is (in het bereik 1..255) om een storing aan te geven. Elke waarde buiten het bereik 0..255 wordt modulo 256 behandeld (de uitgangsstatus wordt opgeslagen in een 8-bits waarde). Soms wordt dat als ondertekend behandeld (je ziet mogelijk -128, -127, enz.), maar meestal wordt het als niet ondertekend behandeld.

Deze status is beschikbaar voor de code die Python heeft aangeroepen. Deze conventie is van toepassing op alle platforms, hoewel de betekenis van een exit-status die niet nul is op verschillende platforms kan verschillen.


Antwoord 4, autoriteit 2%

Het nummer dat u doorgeeft aan de functie exit()is gewoon de retourcode van uw programma, die aan het besturingssysteem wordt gegeven. Vanuit het oogpunt van uw programma is er geen verschil: de uitvoering wordt in beide gevallen beëindigd en de waarde die aan de functie wordt geleverd, wordt aan het besturingssysteem gegeven. Maar sommige tools en scripts houden rekening met de exit-code van het programma. De meeste tools retourneren 0 wanneer ze slagen en niet-nul om een fout aan te geven.

Dus als je programma wordt uitgevoerd vanuit een script, een geautomatiseerd hulpmiddel of andere software die rekening houdt met de retourcode (zoals een IDE), moet je voorzichtig zijn met wat je retourneert.

Bij twijfel, retourneer 0 om aan te geven dat alles in orde is.


Antwoord 5, autoriteit 2%

exit(0): hierdoor wordt het programma afgesloten met een succesvolle beëindiging.

exit(1): hierdoor wordt het programma afgesloten met een systeemspecifieke betekenis.

Op veel systemen geeft exit(1)een soort storing aan, maar daar
is geen garantie.

Zoals ik me herinner, herkent de C-standaard slechts drie standaard uitgangen
waarden:

  • EXIT_SUCCESS— succesvolle beëindiging
  • EXIT_FAILURE— mislukte beëindiging
  • 0— hetzelfde als EXIT_SUCCESS
Previous articleHoe speel ik audio af?
Next articleHTML IF-instructie

Other episodes