Inhoudsopgave:
- 1Open een Python-bestandsvenster.
- 2Typ de volgende code in het venster - druk na elke regel op Enter:
- Je ziet een Python Shell-venster open. De toepassing vraagt u om een nummer tussen 1 en 10 in te typen.
- De toepassing geeft een foutmelding weer.
- De toepassing genereert hetzelfde foutbericht.
- De toepassing voert het verwachte bereikfoutbericht uit. Uitzonderingsafhandeling elimineert geen bereikfouten.U moet ze nog steeds afzonderlijk controleren.
- Deze keer meldt de applicatie eindelijk dat je de juiste waarde van 7 hebt opgegeven. Ook al lijkt het een hoop werk om dit niveau van controle uit te voeren, je kunt er niet echt zeker van zijn dat je applicatie correct werkt zonder het.
- De toepassing genereert een uitzondering KeyboardInterrupt. Omdat deze uitzondering niet wordt afgehandeld, is dit nog steeds een probleem voor de gebruiker.
Video: From C to Python by Ross Rheingans-Yoo 2024
Sommige dingen die u ontwikkelt in Python hebben de vreselijke gewoonte uitspattingen uit te sluiten wanneer de gebruiker onverwachte waarden invoert. Een deel van de oplossing is om het bereik te controleren. De bereikcontrole neemt echter niet het probleem weg dat een gebruiker tekst zoals Hallo in plaats van een verwachte numerieke waarde typt. Behandeling van uitzonderingen biedt een complexere oplossing voor het probleem, zoals beschreven in de volgende stappen.
1Open een Python-bestandsvenster.
Je ziet een editor waarin je de voorbeeldcode kunt typen.
2Typ de volgende code in het venster - druk na elke regel op Enter:
try: Value = int (input ("Typ een cijfer tussen 1 en 10:")) behalve ValueError: print ("Je moet een getal tussen 1 en 10! ") else: if (Waarde> 0) en (Waarde <= 10): print (" U typte: ", Waarde) anders: print (" De waarde die u hebt ingevoerd is incorrect! ") > De code in het try-blok heeft zijn uitzonderingen afgehandeld. In dit geval betekent het verwerken van de uitzondering invoer van de gebruiker met behulp van de int (input ()) oproepen. Als buiten dit blok een uitzondering optreedt, wordt deze niet door de code verwerkt.
Het uitgezonderde blok zoekt in dit geval naar een specifieke uitzondering: ValueError. Wanneer de gebruiker een ValueError-uitzondering maakt door Hello op te geven in plaats van een numerieke waarde, wordt dit specifieke uitzonderingsblok uitgevoerd. Als de gebruiker een andere uitzondering zou genereren, zou dit behalve het blok het niet aan.
3Kies run → Run-module.
Je ziet een Python Shell-venster open. De toepassing vraagt u om een nummer tussen 1 en 10 in te typen.
4Type Hallo en druk op Enter.
De toepassing geeft een foutmelding weer.
5 Voer stap 3 en 4 nogmaals uit, maar typ 5. 5 in plaats van Hello.
De toepassing genereert hetzelfde foutbericht.
6 Voer stap 3 en 4 opnieuw uit, maar typ 22 in plaats van Hello.
De toepassing voert het verwachte bereikfoutbericht uit. Uitzonderingsafhandeling elimineert geen bereikfouten.U moet ze nog steeds afzonderlijk controleren.
7 Voer stap 3 en 4 opnieuw uit, maar typ 7 in plaats van Hello.
Deze keer meldt de applicatie eindelijk dat je de juiste waarde van 7 hebt opgegeven. Ook al lijkt het een hoop werk om dit niveau van controle uit te voeren, je kunt er niet echt zeker van zijn dat je applicatie correct werkt zonder het.
8 Voer stap 3 en 4 nogmaals uit, maar druk op Ctrl + C, Cmd + C of het alternatief voor uw platform in plaats van iets te typen.