Huis Persoonlijke financiën Hoe geneste uitzonderingen kunnen worden behandeld in Python - dummies

Hoe geneste uitzonderingen kunnen worden behandeld in Python - dummies

Inhoudsopgave:

Video: Python Web Apps with Flask by Ezra Zigmond 2024

Video: Python Web Apps with Flask by Ezra Zigmond 2024
Anonim

Soms moet u één uitzonderingsafhandelingsroutine binnen een andere plaatsen in een proces genaamd nesten. Wanneer u uitzonderingsafhandelingsroutines nest, probeert Python eerst een uitzonderingshandler in het geneste niveau te vinden en vervolgens naar de buitenste lagen te gaan. U kunt uitzonderingen voor het verwerken van uitzonderingen zo diep nestelen als nodig is om uw code veilig te maken.

Een van de meest voorkomende redenen voor het gebruik van een dubbele laag code voor het afhandelen van uitzonderingen, is wanneer u invoer van een gebruiker wilt ontvangen en de invoercode in een lus moet plaatsen om ervoor te zorgen dat u de vereiste informatie daadwerkelijk krijgt. De volgende stappen demonstreren hoe dit soort code zou kunnen werken.

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:

TryAgain = True, terwijl TryAgain: try: Value = int (input ("Type een geheel getal.")) Behalve ValueError: print ("You moet een heel getal typen! ") try: DoOver = input (" Probeer opnieuw (j / n)? ") behalve: print (" OK, tot de volgende keer! ") TryAgain = False else: if (str. bovenste (DoOver) == "N"): TryAgain = False behalve KeyboardInterrupt: print ("U drukte op Ctrl + C!") Print ("Tot de volgende keer!") TryAgain = Valse anders: print (Waarde) TryAgain = Fout > De code begint met het creëren van een invoerlus. Het gebruik van loops voor dit soort doeleinden is eigenlijk vrij gebruikelijk in applicaties, omdat je niet wilt dat de applicatie eindigt elke keer dat er een invoerfout wordt gemaakt. Dit is een vereenvoudigde lus en normaal maakt u een afzonderlijke functie om de code vast te houden.

Wanneer de lus start, vraagt ​​de applicatie de gebruiker om een ​​geheel getal in te voeren. Het kan elke gehele waarde zijn. Als de gebruiker een niet-integer-waarde invoert of op Ctrl + C, Cmd + C of een andere interrupt-toetscombinatie drukt, neemt de code voor de exception-handling het over. Anders drukt de toepassing de waarde af die de gebruiker heeft opgegeven en stelt TryAgain in op False, waardoor de lus eindigt.

Een uitzondering ValueError kan optreden wanneer de gebruiker een fout maakt. Omdat u niet weet waarom de gebruiker de verkeerde waarde heeft ingevoerd, moet u vragen of de gebruiker het opnieuw wil proberen. Natuurlijk kan het verkrijgen van meer input van de gebruiker een andere uitzondering genereren. De innerlijke poging … behalve dat codeblok deze secundaire invoer verwerkt.

Let op het gebruik van de str. upper () functie bij het verkrijgen van karakterinvoer van de gebruiker. Deze functie maakt het mogelijk om y of Y als invoer te ontvangen en beide te accepteren. Wanneer u de gebruiker vraagt ​​om tekeninvoer, is het een goed idee om kleine letters naar hoofdletters om te zetten, zodat u één vergelijking kunt uitvoeren (waardoor het risico op fouten wordt verkleind).

De uitzondering KeyboardConterrupt geeft twee berichten weer en wordt vervolgens automatisch afgesloten door TryAgain op False in te stellen. Het toetsenbordinbreken gebeurt alleen wanneer de gebruiker op een specifieke toetsencombinatie drukt die is ontworpen om de toepassing te beëindigen. Het is onwaarschijnlijk dat de gebruiker de applicatie op dit punt wil blijven gebruiken.

3Kies run → Run-module.

Je ziet een Python Shell-venster open. De toepassing vraagt ​​de gebruiker om een ​​geheel getal in te voeren.

4Type Hallo en druk op Enter.

De toepassing geeft een foutmelding weer en vraagt ​​of u het opnieuw wilt proberen.

5Typ Y en druk op Enter.

De toepassing vraagt ​​u om opnieuw een geheel getal in te voeren.

6Type 5. 5 en druk op Enter.

De toepassing geeft opnieuw het foutbericht weer en vraagt ​​of u het opnieuw wilt proberen.

7Druk op Ctrl + C, Cmd + C of een andere toetscombinatie om de toepassing te onderbreken.

De toepassing is beëindigd. Merk op dat het bericht dat is van de innerlijke uitzondering. De toepassing krijgt nooit de buitenste uitzondering, omdat de interne uitzonderingshandler generieke uitzonderingsafhandeling biedt.

8Keuze kiezen → Module uitvoeren.

Je ziet een Python Shell-venster open. De toepassing vraagt ​​de gebruiker om een ​​geheel getal in te voeren.

9Druk op Ctrl + C, Cmd + C of een andere toetscombinatie om de toepassing te onderbreken.

De toepassing is beëindigd. Merk op dat het bericht dat is van de buitenste uitzondering. In de vorige stappen beëindigt de gebruiker de applicatie door op een interrupt-toets te drukken. De toepassing gebruikt echter twee verschillende uitzonderingsafhandelingseenheden om het probleem aan te pakken.

Hoe geneste uitzonderingen kunnen worden behandeld in Python - dummies

Bewerkers keuze

Kennis van auditplanning nodig voor de AUD-test - dummies

Kennis van auditplanning nodig voor de AUD-test - dummies

Bij het nemen van de audit en het attest ( AUD) test op het CPA-examen, moet u blijk geven van kennis van het auditplanningsproces. Bij het plannen van een audit moet een auditor overwegen of bepaalde randvoorwaarden aanwezig zijn. Deze voorwaarden stellen de CPA-firma in staat om efficiënt een audit uit te voeren en de auditor te helpen bij het verkrijgen van voldoende ...

Passiva op de FAR-test van het CPA-examen - dummies

Passiva op de FAR-test van het CPA-examen - dummies

De financiële boekhouding en rapportage (FAR ) test van het CPA-onderzoek test u uw kennis van verschillende soorten verplichtingen inclusief opgebouwde verplichtingen, langlopende schulden, uitgestelde belastingen en pensioenverplichtingen. Lopende verplichtingen De periodetoerekeningsbasis boekt opbrengsten wanneer deze worden verdiend en neemt uitgaven op wanneer deze zijn gemaakt. De transactiebasis is niet afhankelijk van gelddeposito's ...

Regeling oefenvragen voor het CPA-examen - dummies

Regeling oefenvragen voor het CPA-examen - dummies

De verordening (REG) -test op het CPA-examen richt zich op op twee terreinen: ondernemingsrecht en belastingen. Overweeg flashcards te gebruiken om termen voor de REG-sectie te leren en te onthouden. Voordat u deze test uitvoert, moet u vele definities, feiten en cijfers verteren en flashcards kunnen een grote hulp zijn. Welke van de volgende ...

Bewerkers keuze

Met de AF-ON-knop op uw EOS 80D - dummies

Met de AF-ON-knop op uw EOS 80D - dummies

Als u nerveus bent over de ontspanknop tot halverwege op uw EOS 80D drukken, uit angst dat u per ongeluk een foto maakt, wilt u misschien kennis maken met de AF-ON-knop. In de geavanceerde belichtingsstanden (P, Tv, Av, M, B, C1 en C2), kun je deze knop ingedrukt houden om hetzelfde doel te bereiken als ...

Hoe je de opname maakt met de sfeer op je Canon EOS 80D - dummies

Hoe je de opname maakt met de sfeer op je Canon EOS 80D - dummies

Met je EOS 80D kun je een beetje spelen met kleur, scherpte, contrast en belichting in bepaalde scènemodi. De modus Shoot by Ambience kan leuk zijn voor een beetje experiment. Met de Picture Style-functie kunt u kiezen hoe de camera uw originele beeldgegevens "verwerkt" wanneer u een van de JPEG-afbeeldingen gebruikt ...

Hoe je de opname-informatieweergavemodus op je Canon EOS 80D gebruikt - dummies

Hoe je de opname-informatieweergavemodus op je Canon EOS 80D gebruikt - dummies

In de weergavemodus Opnamegegevens op uw EOS 80D wordt een miniatuur van uw afbeelding weergegeven, samen met scads aan opnamegegevens. Je ziet ook een helderheidshistogram - het grafiekachtige ding in de rechterbovenhoek van het scherm. (Denk eraan, druk gewoon op de Info-knop om door de weergavemodi te bladeren om deze te zien.) Hoe ...

Bewerkers keuze

Hoe Excel 2016-werkmappen te delen via OneDrive - dummies

Hoe Excel 2016-werkmappen te delen via OneDrive - dummies

Voordat u uw Excel 2016-werkmap kunt delen, moet een kopie ervan opslaan in een map op uw OneDrive. De eenvoudigste manier om dit te doen is om eerst de werkmap te openen om te delen in Excel en klik op de knop Delen die aan de rechterkant van het lint verschijnt. Excel opent vervolgens een ...

Hoe werkbladen delen in Excel 2013 - dummies

Hoe werkbladen delen in Excel 2013 - dummies

Excel 2013 maakt het gemakkelijk om uw spreadsheets te delen met vertrouwde klanten en collega's. U kunt de opties op het scherm Delen in de weergave Backstage gebruiken om werkbladen per e-mail te verzenden of per chatbericht te verzenden naar anderen die toegang hebben tot Excel. Als Microsoft Lync online vergaderingssoftware op uw apparaat is geïnstalleerd, maakt u ...

Hoe een werkblad in Windows te splitsen in Excel 2016 - dummies

Hoe een werkblad in Windows te splitsen in Excel 2016 - dummies

Hoewel in en uit zoomen op een Excel 2016-werkblad kan je helpen om je te oriënteren, het kan niet twee afzonderlijke secties samenbrengen zodat je hun gegevens op het scherm kunt vergelijken (in ieder geval niet op een normale grootte waar je de informatie daadwerkelijk kunt lezen). Om dit soort truc te beheren, splitst u de ...