Python Probeer Behalwe
Die try
blok laat jou 'n blok kode vir foute toets.
Die except
blok laat jou die fout hanteer.
Die else
blok laat jou kode uitvoer wanneer daar geen fout is nie.
Die finally
blok laat jou kode uitvoer, ongeag die resultaat van die probeer- en behalwe blokke.
Uitsonderingshantering
Wanneer 'n fout voorkom, of uitsondering soos ons dit noem, sal Python normaalweg stop en 'n foutboodskap genereer.
Hierdie uitsonderings kan hanteer word deur die try
stelling te gebruik:
Voorbeeld
Die try
blok sal 'n uitsondering genereer, want x
is nie gedefinieer nie:
try:
print(x)
except:
print("An exception occurred")
Aangesien die probeer-blok 'n fout veroorsaak, sal die behalwe-blok uitgevoer word.
Sonder die probeerblok sal die program ineenstort en 'n fout opduik:
Voorbeeld
Hierdie stelling sal 'n fout veroorsaak, want x
is nie gedefinieer nie:
print(x)
Baie uitsonderings
Jy kan soveel uitsonderingsblokke definieer as wat jy wil, bv. as jy 'n spesiale blok kode vir 'n spesiale soort fout wil uitvoer:
Voorbeeld
Druk een boodskap as die probeerblokkie 'n verhoog NameError
en 'n ander vir ander foute:
try:
print(x)
except NameError:
print("Variable x
is not defined")
except:
print("Something else went
wrong")
Anders
Jy kan die else
sleutelwoord gebruik om 'n blok kode te definieer wat uitgevoer moet word as daar geen foute ontstaan het nie:
Voorbeeld
In hierdie voorbeeld try
genereer die blok geen fout nie:
try:
print("Hello")
except:
print("Something went
wrong")
else:
print("Nothing went wrong")
Uiteindelik
Die finally
blok, indien gespesifiseer, sal uitgevoer word, ongeag of die probeerblok 'n fout veroorsaak of nie.
Voorbeeld
try:
print(x)
except:
print("Something went
wrong")
finally:
print("The 'try except' is finished")
Dit kan nuttig wees om voorwerpe toe te maak en hulpbronne skoon te maak:
Voorbeeld
Probeer om 'n lêer oop te maak en te skryf wat nie skryfbaar is nie:
try:
f = open("demofile.txt")
try:
f.write("Lorum Ipsum")
except:
print("Something went wrong when writing to the file")
finally:
f.close()
except:
print("Something went wrong when opening the
file")
Die program kan voortgaan sonder om die lêervoorwerp oop te laat.
Maak 'n uitsondering
As 'n Python-ontwikkelaar kan jy kies om 'n uitsondering te gooi as 'n toestand voorkom.
Om 'n uitsondering te gooi (of te verhoog), gebruik die raise
sleutelwoord.
Voorbeeld
Maak 'n fout en stop die program as x laer as 0 is:
x = -1
if x < 0:
raise Exception("Sorry, no numbers below
zero")
Die raise
sleutelwoord word gebruik om 'n uitsondering te maak.
Jy kan definieer watter soort fout om te maak, en die teks om aan die gebruiker te druk.
Voorbeeld
Verhoog 'n TypeError as x nie 'n heelgetal is nie:
x = "hello"
if not type(x) is int:
raise TypeError("Only
integers are allowed")