Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Fånga och hantera undantag | Comprehensive Error Handling
Python Strukturell Programmering

Fånga och hantera undantag

Svep för att visa menyn

När du arbetar med filoperationer eller annan kod som kan stöta på fel är Pythons strukturerade felhantering med try, except, else och finally-block avgörande för att skriva robusta program. try-blocket innehåller kod som kan generera ett undantag. Om ett undantag uppstår körs except-blocket, vilket gör att du kan hantera felet på ett smidigt sätt. Om inget undantag uppstår körs else-blocket, vilket gör det lämpligt för kod som endast ska köras när allt i try-blocket lyckas. finally-blocket körs alltid, oavsett om ett undantag inträffade eller inte, vilket gör det idealiskt för städåtgärder som att stänga filer eller frigöra resurser. Som du såg i videon hjälper denna struktur dig att separera normal logik, felhantering och städning, vilket resulterar i tydligare och säkrare kod.

Python-felhanteringsblock

  • try-blocket innehåller kod som kan generera ett undantag;
  • except-blocket fångar och hanterar undantag om de uppstår;
  • else-blocket körs endast om inget undantag genererades i try-blocket;
  • finally-blocket körs alltid, oavsett om ett undantag inträffade eller inte.
123456789101112131415
filename = "example.txt" try: file = open(filename, "w") file.write("Hello, Python error handling!") except OSError as e: print("An error occurred while writing to the file:", e) else: print("File written successfully.") finally: try: file.close() print("File closed.") except Exception: print("File was never opened or already closed.")

Denna struktur gör det möjligt att separera normal logik, felhantering och upprensningsuppgifter. Använd try för riskfylld kod, except för att hantera fel, else för lyckade avslut och finally för åtgärder som alltid måste utföras, såsom att stänga filer eller frigöra resurser.

question mark

Vilket påstående beskriver bäst exekveringsordningen för blocken else och finally i en struktur med try, except, else, finally?

Vänligen välj det korrekta svaret

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 1. Kapitel 2

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

Avsnitt 1. Kapitel 2
some-alt