Fouten in Python kunnen van twee soorten zijn, namelijk syntaxisfouten en uitzonderingen. Fouten zijn de problemen in een programma waardoor het programma de uitvoering stopt. Aan de andere kant doen zich uitzonderingen voor wanneer er interne gebeurtenissen plaatsvinden die de normale stroom van het programma veranderen.
Opmerking: Raadpleeg Fouten en uitzonderingen in Python voor meer informatie
Enkele veel voorkomende uitzonderingsfouten zijn:
- IOError: als het bestand niet kan worden geopend KeyboardInterrupt: wanneer een onnodige toets wordt ingedrukt door de gebruiker ValueError: wanneer de ingebouwde functie een verkeerd argument ontvangt EOFError: als End-Of-File wordt bereikt zonder gegevens te lezen ImportError: als hij kan de module niet vinden
Probeer Behalve in Python
De Try and Except-instructie wordt gebruikt om deze fouten in onze code in Python af te handelen. Het try-blok wordt gebruikt om bepaalde code op fouten te controleren. Dat wil zeggen dat de code in het try-blok wordt uitgevoerd als er geen fout in het programma zit. Terwijl de code in het behalve-blok wordt uitgevoerd wanneer het programma een fout tegenkomt in het voorgaande try-blok.
Syntaxis:
kajal aggarwal
try: # Some Code except: # Executed if error in the # try block>
Hoe try() werkt?
- Eerst de poging clausule wordt uitgevoerd, d.w.z. de code ertussen poging.
- Als er geen uitzondering is, dan alleen de poging clausule loopt, behalve clausule is afgelopen.
- 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
Code1: Geen uitzondering, dus de poging clausule zal lopen.
Python3
# 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> )> |
>
>
Hulpruimte: O(1)
Uitgang:
Yeah ! Your answer is : 1>
Code1: Er is alleen een uitzondering behalve clausule zal lopen.
Python3
# 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> )> |
>
>
Actrice Rakul Preet Singh
Uitgang:
Sorry ! You are dividing by zero>
Code2: De andere manier van schrijven behalve statement, wordt hieronder weergegeven en op deze manier accepteert het alleen uitzonderingen die u moet onderkennen of kunt u controleren welke fout zich voordoet.
Python3
# 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> )> |
>
>
Uitgang:
The error is: unsupported operand type(s) for //: 'int' and 'str' The error is: integer division or modulo by zero>
Anders clausule
In Python kun je ook de else-clausule gebruiken in het try-except-blok, dat aanwezig moet zijn na alle behalve-clausules. De code komt alleen in het else-blok terecht als de try-clausule geen uitzondering veroorzaakt.
NPM-cache wissen
Syntaxis:
try: # Some Code except: # Executed if error in the # try block else: # execute if no exception>
Code:
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> )> |
>
>
Uitgang:
-5.0 a/b result in 0>
Eindelijk trefwoord in Python
Python levert tenslotte een trefwoord, dat altijd wordt uitgevoerd na de try-and-except-blokken. Het laatste blok wordt altijd uitgevoerd na de normale beëindiging van het try-blok of nadat het try-blok is beëindigd vanwege enkele uitzonderingen.
Syntaxis:
try: # Some Code except: # Executed if error in the # try block else: # execute if no exception finally: # Some code .....(always executed)>
Code:
Python3
verschoven hoogte
# 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'> )> |
>
>
Uitgang:
Can't divide by zero This is always executed>
Gerelateerde artikelen:
- Outputvragen
- Afhandeling van uitzonderingen in Python
- Door de gebruiker gedefinieerde uitzonderingen