Een uitzondering is een onverwachte gebeurtenis die optreedt tijdens de uitvoering van het programma. Het is ook bekend als een runtime-fout . Wanneer die fout optreedt, Python genereert een uitzondering tijdens de uitvoering en die kan worden afgehandeld, waardoor uw programma niet wordt onderbroken.
Voorbeeld: In deze code kan het systeem het getal niet door nul delen, dus wordt er een uitzondering gemaakt.
Python3
a>=> 5> b>=> 0> print>(a>/>b)> |
>
>
Uitvoer
Traceback (most recent call last): File '/home/8a10be6ca075391a8b174e0987a3e7f5.py', line 3, in print(a/b) ZeroDivisionError: division by zero>
Afhandeling van uitzonderingen met try, behalve, else en tenslotte
- Poging : Dit blok test of de uitgesloten fout optreedt
- Behalve : Hier kunt u de fout afhandelen
- Anders : Als er geen uitzondering is, wordt dit blok uitgevoerd
- Eindelijk : Ten slotte wordt het blok altijd uitgevoerd, ongeacht of er een uitzondering wordt gegenereerd of niet
Python Try, Except, else en Tenslotte Syntaxis
try: # Some Code.... except: # optional block # Handling of exception (if required) else: # execute if no exception finally: # Some code .....(always executed)>
Werking van ‘ poging' En 'behalve'
Laten we eerst begrijpen hoe de Python probeert en behalve werken
- Eerst poging clausule wordt uitgevoerd, d.w.z. de code ertussen poging En behalve clausule.
- Als er geen uitzondering is, dan alleen poging clausule loopt, behalve clausule wordt niet uitgevoerd.
- Als zich een uitzondering voordoet, wordt de poging clausule wordt overgeslagen en behalve clausule zal lopen.
- Als er zich een uitzondering voordoet, maar de behalve De clausule in de code regelt dit niet, maar wordt doorgegeven aan de buitenwereld poging verklaringen. Als de uitzondering niet wordt afgehandeld, stopt de uitvoering.
- A poging verklaring kan meer dan één hebben behalve clausule.
Voorbeeld: Laten we proberen de invoer van gehele getallen van de gebruiker te gebruiken en de uitzondering in het blok te gooien.
Python3
lijst methoden java
# 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>)> divide(>3>,>0>)> |
>
>
Uitgang:
Yeah ! Your answer is : 1 Sorry ! You are dividing by zero>
Vang meerdere uitzonderingen op in Python
Hier is een voorbeeld dat laat zien hoe u meerdere uitzonderingsclausules kunt gebruiken om met verschillende uitzonderingen om te gaan:
Python3
try>:> >x>=> int>(>input>(>'Enter a number: '>))> >result>=> 10> /> x> except> ZeroDivisionError:> >print>(>'You cannot divide by zero.'>)> except> ValueError:> >print>(>'Invalid input. Please enter a valid number.'>)> except> Exception as e:> >print>(f>'An error occurred: {e}'>)> |
>
>
Uitgang:
Enter a number: An error occurred: EOF when reading a line>
Anders clausules in Python
De code komt alleen in het else-blok terecht als de try-clausule geen uitzondering oplevert.
Voorbeeld: Anders wordt het blok uitgevoerd alleen als er geen uitzondering optreedt .
Python3
# Python code to illustrate working of try()> def> divide(x, y):> >try>:> ># Floor Division : Gives only Fractional> ># Part as Answer> >result>=> x>/>/> y> >except> ZeroDivisionError:> >print>(>'Sorry ! You are dividing by zero '>)> >else>:> >print>(>'Yeah ! Your answer is :'>, result)> > # Look at parameters and note the working of Program> divide(>3>,>2>)> divide(>3>,>0>)> |
>
>
Uitgang:
Yeah ! Your answer is : 1 Sorry ! You are dividing by zero>
Python eindelijk trefwoord
Python levert een trefwoord Eindelijk , dat is altijd uitgevoerd na proberen en behalve blokken. Het definitieve blok wordt altijd uitgevoerd na normale beëindiging van het try-blok of nadat het try-blok is beëindigd vanwege een uitzondering. Zelfs als u terugkeert in het behalve-blok, wordt het uiteindelijke blok nog steeds uitgevoerd
Voorbeeld: Laten we proberen de uitzondering in het blok te gooien en uiteindelijk zal uitvoeren of de uitzondering wel of niet wordt gegenereerd
Python3
# Python code to illustrate> # working of try()> def> divide(x, y):> >try>:> ># Floor Division : Gives only Fractional> ># Part as Answer> >result>=> x>/>/> y> >except> ZeroDivisionError:> >print>(>'Sorry ! You are dividing by zero '>)> >else>:> >print>(>'Yeah ! Your answer is :'>, result)> >finally>:> ># this block is always executed> ># regardless of exception generation.> >print>(>'This is always executed'>)> # Look at parameters and note the working of Program> divide(>3>,>2>)> divide(>3>,>0>)> |
>
>
Uitgang:
Yeah ! Your answer is : 1 This is always executed Sorry ! You are dividing by zero This is always executed>