Inhoudsopgave
Wanneer we een programma maken, zijn er vaak situaties waarin een gebruiker een niet-gewoon gedrag van ons algoritme kan activeren, vooral wanneer we afhankelijk zijn van de invoer van gegevens door die gebruiker, hiervoor implementeren veel programmeertalen uitzonderingen zoals een mechanisme om te voorkomen dat ons programma explodeert en er niet in slaagt een slechtere situatie te genereren, waarbij gevoelige gegevens openbaar worden gemaakt.Wat is een uitzondering?
In Python een uitzondering is een object dat, als het niet op de een of andere manier wordt afgehandeld, leidt tot het einde van het programma en a . weergeeft herleiden van de fout die die uitzondering veroorzaakte, een voorbeeld van hoe een uitzondering eruitziet in a Python We kunnen het zien in de volgende schermafbeelding:
Hoewel deze uitzondering een heel eenvoudig voorbeeld is, geeft het ons een vrij belangrijke theoretische achtergrond, het geeft aan dat het een instantie van een bepaalde klasse is en deze instanties kunnen op verschillende manieren worden gegenereerd en vastgelegd, waardoor de fout kan worden vastgelegd en iets kan worden gedaan binnen de stroom van het programma waardoor de abrupte beëindiging wordt vermeden waarmee ons programma veel stabieler zou zijn.
Een uitzondering opwerpen
Zoals we in de vorige paragrafen konden zien, worden de uitzonderingen in veel gevallen automatisch verhoogd, maar we kunnen ze ook zelf verhogen om meer controle over het programma te krijgen.
Om een uitzondering te maken gebruiken we het commando salarisverhoging dat als argument een klasse of een object neemt, wanneer we een klasse gebruiken, wordt er automatisch een instantie van gegenereerd, we kunnen zelfs een argument van het stringtype gebruiken na de klasse, gescheiden door een komma.
Laten we enkele voorbeelden bekijken met behulp van de klasse die is opgenomen in Python genaamd Uitzondering :
Met deze code kunnen we een uitzondering maken:
>>> raise Exception Traceback (meest recente call laatst): Bestand "", regel 1, in? Uitzondering
We bellen gewoon salarisverhoging en we zijn geslaagd voor de klas UitzonderingZoals we kunnen zien, is het helemaal niet ingewikkeld, laten we wat meer codes bekijken.
>>> raise Exception, 'hyperdrive overload' Traceback (meest recente oproep laatste): Bestand "", regel 1, in? Uitzondering: hyperdrive overbelasting
In deze twee extra gevallen geven we een extra parameter van het type string door, zoals we kunnen zien, kunnen we dit doen door te scheiden met een komma of als een argument van de klasse.
Laten we eens kijken naar een lijst van enkele van de uitzonderingen die standaard in Python:
- Uitzondering: De hoofdklasse voor alle uitzonderingen.
- AttribuutFout: Wordt verhoogd wanneer een referentie- of attribuuttoewijzing mislukt.
- IOE-fout: Verhoogd bij het openen van een bestand dat niet bestaat.
- Indexfout: Verhoogd wanneer een niet-bestaande index of reeks wordt gebruikt.
- Sleutelfout: Verhoogd wanneer een niet-bestaande sleutel wordt toegewezen.
- Naamfout: Verhoogd wanneer de naam van een variabele niet wordt gevonden.
- Syntax error: Verhoogd wanneer de code slecht is gevormd.
- Typefout: Verhoogd wanneer een bewerking of functie wordt toegepast op een object van het verkeerde type.
- WaardeFout: Net als in het vorige geval, maar in plaats van van toepassing op het type, is het van toepassing op de waarde van het object.
- ZeroDivision-fout: Verhoogd wanneer het tweede argument van een deling nul is.
Hoewel de uitzonderingen die binnen komen Python Ze bestrijken al een uitgebreid gebied van de functionaliteiten die we mogelijk nodig hebben, er zijn momenten waarop we gewoon onze eigen uitzonderingen moeten maken om aan onze programma's te voldoen, laten we een voorbeeld bekijken:
class SomeCustomException (uitzondering): pass
We maken gewoon een klas zoals elke andere en dan erven we van de klas Uitzondering om onze aangepaste uitzondering te maken.Vond je deze tutorial leuk en hielp je hem?Je kunt de auteur belonen door op deze knop te drukken om hem een positief punt te geven