Python Try Except
- Föregående Sida Python PIP
- Nästa Sida Python Kommandoinmatning
try
Blocket tillåter dig att testa kodblock för att hitta fel.
except
Blocket tillåter dig att hantera fel.
finally
Blocket tillåter dig att köra kod, oavsett hur try- och except-blockens resultat är.
Undantagshantering
När vi anropar Python och ett fel eller undantag inträffar, stoppas ofta och ett felmeddelande genereras.
Du kan använda try
Använd meningar för att hantera dessa undantag:
Exempel
try-blocket kommer att generera ett undantag eftersom x inte är definierad:
try: print(x) except: print("An exception occurred")
Eftersom try-blocket orsakade ett fel, kommer except-blocket att köras.
Om det inte finns något try-block, kommer programmet att krascha och orsaka ett fel:
Exempel
Denna mening kommer att orsaka ett fel, eftersom x inte är definierad:
print(x)
Flera undantag
Du kan definiera ett obegränsat antal exception-block, till exempel, om du vill köra specifik kod för specifika feltyper:
Exempel
Om try-blocket utlöser NameError
Skriv ut ett meddelande, om det är ett annat fel, skriv ut ett annat meddelande:
try: print(x) except NameError: print("Variable x is not defined") except: print("Something else went wrong")
Else
Om inget fel har utlöst, kan du använda else
Använd nyckelord för att definiera den kodblock som ska köras:
Exempel
I detta exempel:try
Blocket genererar ingen fel:
try: print("Hello") except: print("Something went wrong") else: print("Nothing went wrong")
Finally
Om du har specificerat finally
Om en block, så kommer finally-blocket att köras oavsett om try-blocket orsakar ett fel eller inte.
Exempel
try: print(x) except: print("Something went wrong") finally: print("The 'try except' is finished")
Detta är mycket användbart för att stänga objekt och rengöra resurser:
Exempel
Försök att öppna och skriva till en skrivskyddad fil:
try: f = open("demofile.txt") f.write("Lorum Ipsum") except: print("Något gick fel när filen skrevs till") finally: f.close()
Programmet kan fortsätta och filobjektet öppnas inte.
Utlösa undantag
Som Python-utvecklare kan du välja att utlösa undantag när villkor inträffar.
För att utlösa (utlösa) undantag används raise
Nyckelord.
Exempel
Om x är mindre än 0, utlöser undantag och avbryter programmet:
x = -1 if x < 0: raise Exception("Förlåt, inga nummer under noll")
raise
Nyckelord används för att utlösa undantag.
Du kan definiera den typ av undantag som utlöses och den text som skrivs ut till användaren.
Exempel
Om x inte är ett heltal, utlöser TypeError:
x = "hello" if not type(x) is int: raise TypeError("Endast heltal är tillåtna")
- Föregående Sida Python PIP
- Nästa Sida Python Kommandoinmatning