Feil i Python kan være av to typer, dvs. syntaksfeil og unntak. Feil er problemene i et program som gjør at programmet stopper kjøringen. På den annen side oppstår unntak når noen interne hendelser oppstår som endrer den normale flyten i programmet.
Merk: For mer informasjon, se Feil og unntak i Python
Noen av de vanlige unntaksfeilene er:
- IOError: hvis filen ikke kan åpnes KeyboardInterrupt: når en uønsket tast trykkes av brukeren ValueError: når den innebygde funksjonen mottar et feil argument EOFError: hvis End-Of-File treffes uten å lese noen data ImportError: if den kan ikke finne modulen
Prøv Unntatt i Python
Try and Except-setningen brukes til å håndtere disse feilene i koden vår i Python. Prøv-blokken brukes til å sjekke noe kode for feil, dvs. koden inne i prøveblokken vil kjøre når det ikke er noen feil i programmet. Mens koden inne i unntaksblokken vil kjøres når programmet støter på en feil i forrige forsøksblokk.
Syntaks:
try: # Some Code except: # Executed if error in the # try block>
Hvordan fungerer try()?
- For det første prøve klausulen utføres, dvs. koden mellom prøve.
- Hvis det ikke er noe unntak, er det bare prøve klausulen vil kjøre, unntatt klausulen er ferdig.
- Hvis det oppstår et unntak, prøve klausul vil bli hoppet over og unntatt klausulen vil kjøre.
- Hvis noen unntak oppstår, men unntatt klausulen i koden håndterer den ikke, den sendes videre til den ytre prøve uttalelser. Hvis unntaket ikke blir håndtert, stopper utførelsen.
- EN prøve uttalelsen kan ha mer enn én unntatt klausul
Kode 1: Intet unntak, så prøve klausulen vil kjøre.
Python3
setinterval javascript
# Python code to illustrate> # working of try()> def> divide(x, y):> >try>:> ># Floor Division : Gives only Fractional Part as Answer> >result>=> x>/>/> y> >print>(>'Yeah ! Your answer is :'>, result)> >except> ZeroDivisionError:> >print>(>'Sorry ! You are dividing by zero '>)> # Look at parameters and note the working of Program> divide(>3>,>2>)> |
>
>
Hjelpeplass: O(1)
Utgang:
Yeah ! Your answer is : 1>
Kode 1: Det er bare et unntak unntatt klausulen vil kjøre.
Python3
java oppslag
# Python code to illustrate> # working of try()> def> divide(x, y):> >try>:> ># Floor Division : Gives only Fractional Part as Answer> >result>=> x>/>/> y> >print>(>'Yeah ! Your answer is :'>, result)> >except> ZeroDivisionError:> >print>(>'Sorry ! You are dividing by zero '>)> # Look at parameters and note the working of Program> divide(>3>,>0>)> |
>
>
Utgang:
Sorry ! You are dividing by zero>
Kode 2: Den andre måten å skrive på unntatt uttalelse, vises nedenfor, og på denne måten godtar den bare unntak som du er ment å fange opp, eller du kan sjekke hvilken feil som oppstår.
Python3
tømme npm cache
# code> def> divide(x, y):> >try>:> ># Floor Division : Gives only Fractional Part as Answer> >result>=> x>/>/> y> >print>(>'Yeah ! Your answer is :'>, result)> >except> Exception as e:> ># By this way we can know about the type of error occurring> >print>(>'The error is: '>,e)> > divide(>3>,>'GFG'>)> divide(>3>,>0>)> |
>
>
Produksjon:
The error is: unsupported operand type(s) for //: 'int' and 'str' The error is: integer division or modulo by zero>
Ellers klausul
I Python kan du også bruke else-klausulen på try-except-blokken som må være til stede etter alle unntatt-klausulene. Koden går bare inn i else-blokken hvis try-leddet ikke gir et unntak.
Syntaks:
try: # Some Code except: # Executed if error in the # try block else: # execute if no exception>
Kode:
streng java
Python3
# Program to depict else clause with try-except> > # Function which returns a/b> def> AbyB(a , b):> >try>:> >c>=> ((a>+>b)>/>/> (a>->b))> >except> ZeroDivisionError:> >print> (>'a/b result in 0'>)> >else>:> >print> (c)> > # Driver program to test above function> AbyB(>2.0>,>3.0>)> AbyB(>3.0>,>3.0>)> |
>
>
Produksjon:
-5.0 a/b result in 0>
Endelig nøkkelord i Python
Python gir til slutt et nøkkelord, som alltid kjøres etter forsøket og unntatt blokker. Den siste blokken kjøres alltid etter normal avslutning av prøveblokken eller etter at prøveblokken avsluttes på grunn av noen unntak.
Syntaks:
try: # Some Code except: # Executed if error in the # try block else: # execute if no exception finally: # Some code .....(always executed)>
Kode:
Python3
alfabet til tall
# Python program to demonstrate finally> > # No exception Exception raised in try block> try>:> >k>=> 5>/>/>0> # raises divide by zero exception.> >print>(k)> > # handles zerodivision exception> except> ZeroDivisionError:> >print>(>'Can't divide by zero'>)> > finally>:> ># this block is always executed> ># regardless of exception generation.> >print>(>'This is always executed'>)> |
>
>
Produksjon:
Can't divide by zero This is always executed>
Relaterte artikler:
- Utgangsspørsmål
- Unntakshåndtering i Python
- Brukerdefinerte unntak