Inleiding tot het omgaan met uitzonderingen van Python

Uitzonderingen worden behandeld in python met behulp van twee belangrijke technieken, ze zijn een bewering en uitzonderingsbehandeling. In dit hoofdstuk bespreken we de technieken voor het omgaan met python-uitzonderingen
Elke gebeurtenis die de normale uitvoering van de programmaflow omleidt, wordt een uitzondering genoemd. Probeerblok bevat mogelijk codes voor het genereren van fouten. Op volgorde zetten en beheren van deze uitzonderingen is een proces dat wordt uitgevoerd door het uitzonderingsblok dat aan het einde van elk try-blok wordt ingevoegd. Een enkel probeerblok kan op een bepaald moment meer dan één uitzondering koppelen, het andere blok valt onder de gebruikelijke programmastroomsectie. Alle code waarvoor geen blokblokbeveiliging nodig is, wordt in het andersblok van het programma geplaatst.

Syntaxis:

try: Executes when suspicious code is executed
except Exception1: Executed when
exception 1 is raised
except Exception2: Executed when exception 2 is raised
else: If there is no exception then execute this block

Standaard uitzonderingslijst

Uitzondering: alle uitzonderingen basisklasse

StopIteration: wanneer er geen object wordt aangewezen door de volgende methode van de iterator, wordt deze uitzondering opgeworpen

SystemExit: gehesen via de functie sys.exit ().

StandardError: Behalve StopIteration en SystemExit fungeert dit als de basisklasse voor alle ingebouwde functies.

ArithmeticError: Voor alle numerieke fouten fungeren deze uitzonderingen als de basisklasse.

OverflowError: voor een numeriek type als de berekening de maximaal mogelijke waarde overschrijdt, wordt deze fout weergegeven.

FloatingPointError: het mislukken van een float-operatie schopt deze fout

ZeroDivisionError: verhoogd wanneer een situatie van delen door nul voorkomt in de code

AssertionError: Wanneer de assert-instructie mislukt, wordt deze fout geactiveerd

AttributeError: Wanneer een toewijzing of een kenmerkreferentie mislukt, treedt deze fout op

EOFErroR: verhoogd wanneer geen invoer van een van de functies en het einde van het bestand meer wordt bereikt

ImportError: verhoogd terwijl een importaangifte mislukt.

KeyboardInterrupt: verhoogd wanneer er een onderbreking is in de uitvoering van het programma

LookupError: Alle opzoekfouten vallen onder deze basisklasse

IndexError: verhoogd wanneer index niet gevonden

KeyError: Verhoogd wanneer het woordenboek niet de genoemde sleutelwaarde heeft

NameError: verhoogd voor een ontbrekende identificatie lokaal of wereldwijd in het programma

UnboundLocalError: verhoogd bij gebruik van een lokale variabele zonder dat er een waarde aan wordt toegewezen.

EnvironmentError: Basisklasse voor omgevingsgerichte fouten die zich buiten python voordoen

IOError: verhoogd terwijl een invoer- / uitvoerproces mislukt

SyntaxError: Alle syntaxisgeoriënteerde fouten in python worden afgehandeld door deze uitzondering

IndentationError: onjuiste inspringing leidt tot dit soort fouten

SystemError: dit gebeurt in een situatie waarin de tolk niet werkt zoals verwacht, maar deze fout zorgt er niet voor dat het python-programma niet wordt uitgevoerd

SystemExit: wanneer de functie sys.exit () wordt gebruikt door de python-interpreter, leidt dit tot deze uitzondering. hierdoor wordt de code abnormaal beëindigd als deze niet correct wordt behandeld.

TypeError: Wanneer een bewerking ongeldig is voor een bepaald gegevenstype, wordt deze fout gevraagd

ValueError: Wanneer een functie een geldig type argument bevat, maar een onjuiste waarde is opgegeven voor dat type argument

RuntimeError: Als aan een van de bovenstaande categorieën niet wordt voldaan, wordt deze fout weergegeven

NotImplementedError: verhoogd terwijl een niet-configuratieve methode die in een geërfde klasse in praktijk wil worden gebracht, in feite niet is geïmplementeerd. Op volgorde zetten en beheren van deze uitzonderingen is een proces dat wordt uitgevoerd door het uitzonderingsblok dat aan het einde van elk try-blok wordt ingevoegd.

Uitzonderingsafhandelingsproces in Python

  • Behalve clausule met meerdere uitzonderingen
  • Behalve clausule zonder genoemde uitzondering
  • Behalve clausule met argumenten

Hieronder zullen we het Exception Handling Process in Python bespreken

1. Behalve clausule met meerdere uitzonderingen

Dit staat toe dat meer dan één verklaring wordt gedeclareerd in één behalve clausule en al deze verklaarde uitzonderingen kunnen worden opgewekt uit deze behalve clausule.

Syntaxis:

try: Code block1
except(Exception1(, Exception2(, …ExceptionN)))):
Executes when one among the exception happens
else: Executed when no exception is raised

2. Behalve clausule zonder uitzondering

Alle uitzonderingen die door het try-blok worden geactiveerd, kunnen hier worden verwerkt.

Syntaxis:

try:
Code block1
except:
Executes if any type of exception happens
else:
If there is no exception then execute this block

3. Behalve clausule met argumenten

De werkelijke oorzaak van de uitzondering wordt vastgehouden in de argumentwaarde

Syntaxis:

try:
Code block1except
ExceptionType, Argument:
Argument value is printed here

4. Uitzonderingsbehandelingsprogramma

Syntaxis:

try:
fh = open("testfile1", "w")
try:
fh.write("Exception handeling")
finally:
print "Going to close the file"
fh.close()
except IOError:
print "Error: can\'t find file or read data"

Conclusie

Elke programmeertaal kent het proces van het genereren van een uitzondering wanneer het geconfronteerd wordt met een onverwachte reeks situaties en python is er een van die diepgaande technieken produceert voor het omgaan met deze uitzonderingen, waardoor het een sterke basismeettaal is.

Aanbevolen artikel

Dit is een gids geweest voor Python Exception Handling. Hier bespreken we de standaard uitzonderingenlijst en verwerken we deze samen met Syntax. U kunt ook onze andere voorgestelde artikelen doornemen voor meer informatie -

  1. Voordelen van Python
  2. Python Frameworks
  3. Patronen in Python
  4. Python-compilers
  5. Uitzonderingsafhandeling in VB.NET (voorbeelden)
  6. Woordenboek in Python
  7. VB.Net-evenementen