Soms wil je een programma vroegtijdig beëindigen onder bepaalde condities. Bijvoorbeeld, je programma vraagt de gebruiker om een waarde, en voert met die waarde een aantal berekeningen uit. Als de gebruiker een waarde invoert die niet in de berekeningen gebruikt kan worden, wil je het programma meteen beëindigen. Dat kun je als volgt coderen:

from pcinput import getInteger

num = getInteger( "Geef een positief geheel getal: " )
if num < 0:
    print( "Je had een positief geheel getal moeten geven!" )
else:
    print( "Ik handel je getal", num, "af" )
    print( "Nog meer code" )
    print( "Honderden regels code" )

Het is irritant dat een groot deel van het programma al één inspringing diep staat, terwijl je er de voorkeur aan zou hebben gegeven als het programma gestopt was na de foutmelding, en de rest van het programma zonder inspringing geschreven zou kunnen worden. Je kunt dat regelen met behulp van de functie exit() die in de module sys staat. De code is dan:

from pcinput import getInteger
from sys import exit

num = getInteger( "Geef een positief geheel getal: " )
if num < 0:
    print( "Je had een positief geheel getal moeten geven!" )
    exit()

print( "Ik handel je getal", num, "af" )
print( "Nog meer code" )
print( "Honderden regels code" )

Als je deze code uitvoert en een negatief getal ingeeft, kan het gebeuren dat je ziet dat Python een SystemExit melding genereert, die eruit ziet als een grote, lelijke fout. Dit is afhankelijk van de editor die je gebruikt (IDLE geeft deze melding niet). Het is geen fout, ook al ziet het er zo uit. Deze melding zegt alleen dat je het programma geforceerd beëindigd hebt, maar dat is precies wat je wilde doen. Je mag dit beschouwen als een nette manier van afbreken.

In principe moet je meldingen van Python over je programma niet negeren, maar deze is een uitzondering. Je mag je programma op deze manier afbreken. In hoofdstuk 9 zal ik een andere manier van programma afbreken bespreken, die ervoor zorgt dat je deze melding niet krijgt. Dat kun je tegen die tijd gebruiken (als de melding je echt stoort), maar vooralsnog moet je hem maar accepteren.