Get started learning Python with DataCamp's free Intro to Python tutorial. Learn Data Science by completing interactive coding challenges and watching videos by expert instructors. Start Now!
This site is generously supported by DataCamp. DataCamp offers online interactive Python Tutorials for Data Science. Join 11 million other learners and get started learning Python for data science today!
Good news! You can save 25% off your Datacamp annual subscription with the code LEARNPYTHON23ALE25 - Click here to redeem your discount
Felhantering
När man programmerar händer fel. Det är bara ett faktum i livet. Kanske användaren gav felaktig inmatning. Kanske var en nätverksresurs otillgänglig. Kanske tog programmet slut på minne. Eller kanske gjorde programmeraren till och med ett misstag!
Pythons lösning på fel är undantag. Du kanske har sett ett undantag tidigare.
Oops! Glömde att tilldela ett värde till variabeln 'a'.
Men ibland vill du inte att undantag skall stoppa programmet helt. Du kanske vill göra något speciellt när ett undantag uppstår. Detta görs i ett try/except-block.
Här är ett enkelt exempel: Anta att du itererar över en lista. Du behöver iterera över 20 nummer, men listan är gjord från användarinmatning och kanske inte har 20 nummer i sig. När du når slutet av listan vill du bara att resten av numren ska tolkas som en 0. Så här kan du göra det:
Där, det var inte så svårt! Du kan göra det med vilket undantag som helst. För mer detaljer om hur man hanterar undantag, se Python Docs
Övning
Hanter alla undantag! Tänk tillbaka på de tidigare lektionerna för att returnera efternamnet på skådespelaren.
# Setup
actor = {"name": "John Cleese", "rank": "awesome"}
# Function to modify!!!
def get_last_name():
return actor["last_name"]
# Test code
get_last_name()
print("All exceptions caught! Good job!")
print("The actor's last name is %s" % get_last_name())
actor = {"name": "John Cleese", "rank": "awesome"}
def get_last_name():
return actor["name"].split()[1]
get_last_name()
print("All exceptions caught! Good job!")
print("The actor's last name is %s" % get_last_name())
test_output_contains("Cleese")
test_output_contains("All exceptions caught! Good job!")
test_output_contains("The actor's last name is Cleese")
success_msg("Great work!")
This site is generously supported by DataCamp. DataCamp offers online interactive Python Tutorials for Data Science. Join over a million other learners and get started learning Python for data science today!