logo

Python Prøv Undtagen

Fejl i Python kan være af to typer, nemlig syntaksfejl og undtagelser. Fejl er de problemer i et program, som skyldes, at programmet stopper udførelsen. På den anden side opstår der undtagelser, når der opstår nogle interne hændelser, som ændrer programmets normale flow.
Bemærk: For mere information, se Fejl og undtagelser i Python
Nogle af de almindelige undtagelsesfejl er:

    IOError: hvis filen ikke kan åbnes KeyboardInterrupt: når en unødvendig tast trykkes af brugeren ValueError: når den indbyggede funktion modtager et forkert argument EOFError: hvis End-Of-File rammes uden at læse nogen data ImportError: if det er ikke i stand til at finde modulet

Prøv Undtagen i Python

Try and Except-sætningen bruges til at håndtere disse fejl i vores kode i Python. Prøv-blokken bruges til at kontrollere noget kode for fejl, dvs. koden inde i try-blokken vil køre, når der ikke er nogen fejl i programmet. Hvorimod koden inde i undtagen blokken vil køre, når programmet støder på en fejl i den foregående prøveblok.



Syntaks:

try: # Some Code except: # Executed if error in the # try block>

Hvordan virker try()?

  • For det første prøve klausul udføres dvs. koden mellem prøve.
  • Hvis der ikke er nogen undtagelse, så er det kun prøve klausul vil køre, undtagen klausul er afsluttet.
  • Hvis der opstår en undtagelse, prøve klausul vil blive sprunget over og undtagen klausul vil køre.
  • Hvis der opstår en undtagelse, men undtagen klausul i koden håndterer det ikke, det videregives til det ydre prøve udsagn. Hvis undtagelsen ikke behandles, stopper udførelsen.
  • EN prøve erklæring kan have mere end én undtagen klausul

Kode 1: Ingen undtagelse, så prøve klausul vil køre.



Python3






by i uas
# 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>)>

>

>

Hjælpeplads: O(1)

Output:

Yeah ! Your answer is : 1>

Kode 1: Der er kun en undtagelse undtagen klausul vil køre.

Python3


java enums



# 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>)>

>

>

Output:

Sorry ! You are dividing by zero>

Kode 2: Den anden måde at skrive på undtagen sætning, er vist nedenfor, og på denne måde accepterer den kun undtagelser, som det er meningen, du skal fange, eller du kan kontrollere, hvilken fejl der opstår.

Python3

rydde 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>)>

>

>

Produktion:

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å bruge else-sætningen på try-except-blokken, som skal være til stede efter alle undtagen-sætningerne. Koden går kun ind i else-blokken, hvis try-sætningen ikke rejser en undtagelse.

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>)>

>

>

Produktion:

-5.0 a/b result in 0>

Endelig søgeord i Python

Python giver endelig et nøgleord, som altid udføres efter forsøget og undtagen blokke. Den sidste blok udføres altid efter den normale afslutning af try-blokken eller efter at try-blokken afsluttes på grund af nogle undtagelser.

Syntaks:

try: # Some Code except: # Executed if error in the # try block else: # execute if no exception finally: # Some code .....(always executed)>

Kode:

Python3

xdxd betydning




# 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'>)>

>

>

Produktion:

Can't divide by zero This is always executed>

Relaterede artikler:

  • Output spørgsmål
  • Undtagelseshåndtering i Python
  • Brugerdefinerede undtagelser