Hjem Personlig finansiering Sådan håndterer du indlejrede undtagelser i Python - dummies

Sådan håndterer du indlejrede undtagelser i Python - dummies

Indholdsfortegnelse:

Video: Python Web Apps with Flask by Ezra Zigmond 2025

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

Nogle gange skal du placere en undtagelseshåndteringsrutine inden for en anden i en proces kaldet nesting. Når du nester undtagelseshåndteringsrutiner, forsøger Python først at finde en undtagelseshåndterer i det indlejrede niveau og flytter derefter til de ydre lag. Du kan indhente undtagelseshåndteringsrutiner så dybt som nødvendigt for at gøre din kode sikker.

En af de mere almindelige grunde til at bruge et dobbeltlag af undtagelseshåndteringskode er, når du vil hente input fra en bruger og skal placere indtastningskoden i en loop for at sikre, at du rent faktisk får de nødvendige oplysninger. Følgende trin viser, hvordan denne type kode kan virke.

1Open et Python fil vindue.

Du ser en editor, hvor du kan skrive eksempelkoden.

2Type følgende kode i vinduet - tryk Enter efter hver linje:

TryAgain = True mens TryAgain: prøv: Værdi = int (input ("Skriv et helt tal.")) Undtagen ValueError: print skal skrive et helt tal!)) Prøv: DoOver = input ("Prøv igen (y / n)?") undtagen: print ("OK, se dig næste gang!") TryAgain = False else: if (str. DoOver) == "N"): TryAgain = False undtagen KeyboardInterrupt: print ("Du trykkede Ctrl + C!") Print ("Se dig næste gang!") TryAgain = False else: print (Value) TryAgain = False > Koden begynder ved at oprette en input loop. Brug af sløjfer til denne form for formål er faktisk ret almindelig i applikationer, fordi du ikke ønsker at programmet skal afslutte hver gang en inputfejl er lavet. Dette er et forenklet sløjfe, og normalt opretter du en separat funktion for at holde koden.

Når sløjfen starter, beder applikationen brugeren om at skrive et helt tal. Det kan være en heltalværdi. Hvis brugeren skriver en ikke-heltalværdi eller trykker på Ctrl + C, Cmd + C eller en anden afbrydelseskombination, overtager undtagelseshåndteringskoden. Ellers udskriver applikationen den værdi, som brugeren leverede, og sætter TryAgain til False, hvilket forårsager, at sløjfen slutter.

Der kan opstå en ValueError-undtagelse, når brugeren begår en fejl. Fordi du ikke ved, hvorfor brugeren indtaster den forkerte værdi, skal du spørge, om brugeren vil prøve igen. Selvfølgelig kan man få endnu en undtagelse fra at få mere input fra brugeren. Den indre prøve … undtagen kodeblok håndterer denne sekundære indgang.

Bemærk brugen af ​​str. øverste () funktion, når du får tegn input fra brugeren. Denne funktion gør det muligt at modtage y eller Y som input og acceptere dem begge. Når du spørger brugeren om indtastning af tegn, er det en god idé at konvertere små bogstaver til store bogstaver, så du kan udføre en enkelt sammenligning (reducere muligheden for fejl).

KeyboardInterrupt-undtagelsen viser to meddelelser og afslutter automatisk ved at indstille TryAgain til False. KeyboardInterrupt opstår kun, når brugeren trykker på en bestemt tastekombination, der er designet til at afslutte applikationen. Det er usandsynligt, at brugeren vil fortsætte med at bruge applikationen på dette tidspunkt.

3Vælg Kør → Køremodul.

Du ser et Python Shell vindue åbent. Ansøgningen beder brugeren om at indtaste et helt tal.

4Type Hej og tryk på Enter.

Programmet viser en fejlmeddelelse og spørger, om du vil prøve igen.

5Type Y og tryk på Enter.

Programmet beder dig indtaste et helt tal igen.

6Type 5. 5 og tryk på Enter.

Programmet viser igen fejlmeddelelsen igen og spørger, om du vil prøve igen.

7Tryk på Ctrl + C, Cmd + C eller en anden tastekombination for at afbryde applikationen.

Ansøgningen slutter. Bemærk, at meddelelsen er den fra den indvendige undtagelse. Ansøgningen kommer aldrig til den ydre undtagelse, fordi den indre undtagelseshåndterer giver generisk undtagelseshåndtering.

8Vælg Kør → Køremodul.

Du ser et Python Shell vindue åbent. Ansøgningen beder brugeren om at indtaste et helt tal.

9Tryk på Ctrl + C, Cmd + C eller en anden tastekombination for at afbryde applikationen.

Ansøgningen slutter. Bemærk, at meddelelsen er den fra den yderste undtagelse. I de prædike trin slutter brugeren programmet ved at trykke på en afbrydelsestast. Programmet anvender dog to forskellige undtagelseshåndterere til at løse problemet.

Sådan håndterer du indlejrede undtagelser i Python - dummies

Valg af editor

Husk Hvad du læser - dummier

Husk Hvad du læser - dummier

Læsning er et stort problem i uddannelsesmæssige cirkler. At have evnen til at læse en sætning, udtale alle ordene flydende og have et ordforråd bredt nok, der ikke nødvendiggør at henvise til en ordbog er en ting. Men at have evnen til at huske, hvad du læser, er noget helt andet. Hvis du ikke kan huske hvad ...

10 Personer med høj selvværd - dummier

10 Personer med høj selvværd - dummier

Mennesker med en stærk følelse af selv- værd at udvise en række egenskaber. Når du ser disse egenskaber reflekteret i dig selv og dine handlinger, vil du vide, at du er ankommet: De sætter pris på sig selv og andre mennesker. De nyder at vokse som en person og finde opfyldelse og mening i deres liv. De kan grave dybt ind i sig selv.

Videnskabelig dokumentation for brug af mindfulness til depression - dummies

Videnskabelig dokumentation for brug af mindfulness til depression - dummies

Mindfulness er nu en evidensbaseret teknik, der anvendes bredt til depression af NHS (Storbritanniens gratis offentlige nationale sundhedsvæsen). Det er også godkendt af NICE eller National Institute for Health and Care Excellence som en godkendt terapi til forebyggelse af tilbagefald af depression. Der er talrige kliniske undersøgelser, der viser effektiviteten ...

Valg af editor

Hvad er kravene til Cloud Integration? - dummies

Hvad er kravene til Cloud Integration? - dummies

Mange virksomheder vurderer i første omgang udfordringerne ved at integrere data på tværs af hybrid computermiljøer. De fleste integrationsproblemer mellem offentlige og private skyer vil fokusere på SaaS (Software as a Service) applikationer. Dette kan være en ny oplevelse for mange it-organisationer, der er vant til at kontrollere de datakilder, de integrerer. De antager ...

Hvad er platform som en service (PaaS) i Cloud Computing? - dummies

Hvad er platform som en service (PaaS) i Cloud Computing? - dummies

Platformen som en Service (PaaS) er et abstrakt og integreret cloudbaseret computermiljø, som understøtter udvikling, drift og administration af applikationer. Applikationskomponenter kan eksistere i et skymiljø eller kan integreres med applikationer, der administreres i private skyer eller i datacentre. En primær værdi af et PaaS-miljø er, at udviklere ikke har ...

Hvad er software som en service (SaaS) i Cloud Computing? - dummies

Hvad er software som en service (SaaS) i Cloud Computing? - dummies

Virksomheder har opdaget, at nogle organisatoriske og økonomiske fordele kan realiseres ved at bruge software som en service (SaaS) applikationer i cloud computing. De giver mulighed for at få en tredjepartsorganisation til at håndtere alle de detaljer, der går ud på at holde komplekse applikationer i gang. SaaS er ikke et selvstændigt miljø. I stedet er disse applikationer og tjenester ...

Valg af editor

Hvordan tastetryk logging kan bruges til at hak adgangskoder - dummies

Hvordan tastetryk logging kan bruges til at hak adgangskoder - dummies

En af ​​de bedste teknikker til at fange adgangskoder er ekstern tastetryk logning - brugen af ​​software eller hardware til at optage tastetryk som de er skrevet til computeren. Interessant teknik, men det virker. Vær forsigtig med tastetryk logning. Selv med gode hensigter rejser overvågning medarbejdere forskellige juridiske spørgsmål, hvis det ikke gøres korrekt. Diskuter med ...

Sådan får du adgang til en netværksprinter ved hjælp af et webinterface - dummier

Sådan får du adgang til en netværksprinter ved hjælp af et webinterface - dummier

Printere med direkte netværk Forbindelsen omfatter ofte en indbygget webserver, som giver dig mulighed for at styre printeren fra enhver browser på netværket. Følgende billede viser hjemmesiden for en HP LaserJet 400 M401dne printer. Denne webgrænseflade giver dig mulighed for at se statusoplysninger om printeren og kontrollere printerens konfiguration. ...

Sådan tilføjes en netværksprinter - dummier

Sådan tilføjes en netværksprinter - dummier

, Før du kan udskrive til en netværksprinter, skal du konfigurere din computer for at få adgang til den netværksprinter, du vil bruge. Fra Start-menuen skal du åbne Kontrolpanel og derefter dobbeltklikke på ikonet Printere. Hvis din computer allerede er konfigureret til at arbejde sammen med en netværksprinter, er et ikon for netværket ...