Innholdsfortegnelse:
- 1 Åpne et Python-filvindu.
- 2Type følgende kode i vinduet - trykk Enter etter hver linje:
- Du ser et Python Shell-vindu åpent. Søknaden ber brukeren å skrive inn et helt tall.
- Programmet viser en feilmelding og spør om du vil prøve igjen.
- Programmet ber deg om å skrive inn et helt tall igjen.
- Programmet viser igjen feilmeldingen og spør om du vil prøve igjen.
- Søknaden avsluttes. Legg merke til at meldingen er den fra det indre unntaket. Søknaden kommer aldri til det ytre unntaket fordi den interne unntakshandleren gir generisk unntakshåndtering.
- Du ser et Python Shell-vindu åpent. Søknaden ber brukeren å skrive inn et helt tall.
- Søknaden avsluttes. Legg merke til at meldingen er den fra det ytre unntaket. I de preious trinnene avslutter brukeren programmet ved å trykke på en avbrytingsnøkkel. Imidlertid bruker programmet to forskjellige unntakshandlere for å løse problemet.
Video: Python Web Apps with Flask by Ezra Zigmond 2024
Noen ganger må du legge inn en unntakshåndteringsrutine i en annen i en prosess kalt nesting. Når du nester unntakshåndteringsrutiner, forsøker Python å finne en unntakshåndterer i det nestede nivået først og deretter flyttes til de ytre lagene. Du kan hekke unntakshåndteringsrutiner så dypt som nødvendig for å gjøre koden din trygg.
En av de vanligste årsakene til å bruke et dobbeltlag med unntakshåndteringskode er når du vil skaffe innspill fra en bruker og trenger å plassere inngangskoden i en løkke for å sikre at du faktisk får den nødvendige informasjonen. Følgende trinn viser hvordan denne typen kode kan fungere.
1 Åpne et Python-filvindu.
Du ser en redaktør der du kan skrive eksempelkoden.
2Type følgende kode i vinduet - trykk Enter etter hver linje:
TryAgain = True mens TryAgain: prøv: Verdi = int (input ("Skriv et helt tall.")) Bortsett fra ValueError: print må skrive et helt tall! ") Prøv: DoOver = input (" Prøv igjen (y / n)? ") bortsett fra: print (" OK, se neste gang! ") TryAgain = False else: if (str. DoOver) == "N"): TryAgain = False unntatt KeyboardInterrupt: print ("Du presset Ctrl + C!") Print ("Se deg neste gang!") TryAgain = False else: print (Verdi) TryAgain = False > Koden begynner ved å lage en inngangsløype. Bruke sløyfer for denne type formål er faktisk ganske vanlig i applikasjoner fordi du ikke vil at programmet skal avslutte hver gang en inngangsfeil blir gjort. Dette er en forenklet loop, og normalt lager du en egen funksjon for å holde koden.
Et ValueError-unntak kan oppstå når brukeren gjør en feil. Fordi du ikke vet hvorfor brukeren skriver inn feil verdi, må du spørre om brukeren vil prøve igjen. Selvfølgelig, å få mer innspill fra brukeren kan generere et annet unntak. Den indre forsøk … bortsett fra kodeblokken håndterer denne sekundære inngangen.
3Velg Kjør → Kjør modul.
Du ser et Python Shell-vindu åpent. Søknaden ber brukeren å skrive inn et helt tall.
Programmet viser en feilmelding og spør om du vil prøve igjen.
5Type Y og trykk Enter.
Programmet ber deg om å skrive inn et helt tall igjen.
6Type 5. 5 og trykk Enter.
Programmet viser igjen feilmeldingen og spør om du vil prøve igjen.
Søknaden avsluttes. Legg merke til at meldingen er den fra det indre unntaket. Søknaden kommer aldri til det ytre unntaket fordi den interne unntakshandleren gir generisk unntakshåndtering.
8Velg Kjør → Kjør modul.
Du ser et Python Shell-vindu åpent. Søknaden ber brukeren å skrive inn et helt tall.
9Trykk Ctrl + C, Cmd + C, eller en annen tastekombinasjon for å avbryte programmet.