Python Prøv Undtag

try blokken lader dig teste kodeblokken for at finde fejl.

except blokken lader dig håndtere fejl.

finally blokken lader dig udføre kode, uanset resultatet af try- og except-blokkerne.

undtagelseshåndtering

når vi kører Python og der opstår en fejl eller undtagelse, stopper vi normalt og genererer en fejlmeddelelse.

du kan bruge try sætning håndterer disse undtagelser:

Eksempel

try-blokken vil generere en undtagelse, fordi x ikke er defineret:

try:
  print(x)
except:
  print("An exception occurred")

Kør Eksempel

på grund af, at try-blokken udløser en fejl, vil except-blokken blive udført.

hvis der ikke er en try-blok, vil programmet krasje og udløse en fejl:

Eksempel

dette sætning vil udløse en fejl, fordi x ikke er defineret:

print(x)

Kør Eksempel

flere undtagelser

du kan definere et hvilket som helst antal exception-blokker efter behov, for eksempel, hvis du vil køre specifik kode for en bestemt type fejl:

Eksempel

hvis try-blokken udløser NameErrorhvis der er en fejl, vil der blive printet en besked, og hvis det er en anden fejl, vil der blive printet en anden besked:

try:
  print(x)
except NameError:
  print("Variable x is not defined")
except:
  print("Something else went wrong")

Kør Eksempel

Else

hvis ingen fejl udløses, kan du bruge else nøgleord for at definere den kodeblok, der skal køres:

Eksempel

I dette eksempel,try blokken vil ikke generere nogen fejl:

try:
  print("Hello")
except:
  print("Something went wrong")
else:
  print("Nothing went wrong")

Kør Eksempel

Finally

hvis der er specificeret finally Hvis der er en blok, uanset om try-blokken udløser en fejl eller ej, vil finally-blokken blive udført.

Eksempel

try:
  print(x)
except:
  print("Something went wrong")
finally:
  print("The 'try except' is finished")

Kør Eksempel

Dette er meget nyttigt til at lukke objekter og rydde ressourcerne op:

Eksempel

Forsøg at åbne og skrive til en skrivebeskyttet fil:

try:
  f = open("demofile.txt")
  f.write("Lorum Ipsum")
except:
  print("Der gik noget galt, når filen blev skrevet til")
finally:
  f.close()

Kør Eksempel

Programmet kan fortsætte, og filobjektet åbnes ikke.

Udløs undtagelse

Som Python-udvikler kan du vælge at udløse en undtagelse, når en betingelse opfyldes.

For at udløse (udløse) en undtagelse skal du bruge raise Nøgleord.

Eksempel

Hvis x er mindre end 0, så udløses en undtagelse og programmet afsluttes:

x = -1
if x < 0:
  raise Exception("Beklager, ingen tal under nul")

Kør Eksempel

raise Nøgleord bruges til at udløse undtagelser.

Du kan definere typen af den udløste undtagelse samt teksten, der printes til brugeren.

Eksempel

Hvis x ikke er et heltal, så udløses TypeError:

x = "hello"
if not type(x) is int:
  raise TypeError("Kun heltal er tilladt")

Kør Eksempel