Video: Learn Java Programming with Beginners Tutorial 2024
Python biedt een schat aan standaarduitzonderingen die u zo veel mogelijk zou moeten gebruiken. Deze uitzonderingen zijn ongelooflijk flexibel en u kunt ze zelfs naar behoefte aanpassen (binnen redelijke grenzen) om aan specifieke behoeften te voldoen.
Soms moet u echter gewoon een aangepaste uitzondering maken omdat geen van de standaarduitzonderingen werkt. Misschien geeft de uitzonderingsnaam de kijker niet het doel dat de uitzondering dient. Mogelijk hebt u een aangepaste uitzondering nodig voor gespecialiseerd databasewerk of voor het werken met een service.
Dit voorbeeld toont een snelle methode voor het maken van uw eigen uitzonderingen. Als u deze taak wilt uitvoeren, moet u een klasse maken die een bestaande uitzondering als beginpunt gebruikt. Om het een beetje gemakkelijker te maken, maakt dit voorbeeld een uitzondering die voortbouwt op de functionaliteit van de ValueError-uitzondering.
Het voordeel van deze benadering is dat deze benadering iedereen die jou volgt precies vertelt wat de toevoeging aan de ValueError-uitzondering is; bovendien maakt het de gewijzigde uitzondering eenvoudiger in gebruik.
-
Open een Python File-venster.
Je ziet een editor waarin je de voorbeeldcode kunt typen.
-
Typ de volgende code in het venster - druk na elke regel op Enter:
class CustomValueError (ValueError): def __init __ (self, arg): self. strerror = arg self. args = {arg} probeer: raise CustomValueError ("Waarde moet binnen 1 en 10 liggen.") behalve CustomValueError als e: print ("CustomValueError Exception!", bijv. strerror)
Dit voorbeeld plaatst dezelfde fout in beide strerror en beargumenteert zodat de ontwikkelaar toegang heeft tot beide (zoals normaal zou gebeuren).
De code begint met het maken van de klasse CustomValueError die de uitzonderingsklasse ValueError als beginpunt gebruikt. De functie __init __ () biedt de mogelijkheid om een nieuw exemplaar van die klasse te maken. Beschouw de klas als een blauwdruk en de instantie als het gebouw gemaakt vanuit de blauwdruk.
Merk op dat het strerror-attribuut de waarde direct daaraan toekent, maar args ontvangt het als een array. Het args-lid bevat normaal gesproken een array met alle uitzonderingswaarden, dus dit is een standaardprocedure, zelfs als args slechts één waarde bevat zoals nu.
De code voor het gebruik van de uitzondering is aanzienlijk eenvoudiger dan rechtstreeks wijzigen van ValueError. Het enige wat u doet is Oproep verhogen met de naam van de uitzondering en de argumenten die u wilt doorgeven, allemaal op één regel.
-
Kies Uitvoeren → Module uitvoeren.
Je ziet een Python Shell-venster open.De toepassing geeft de letterreeks weer, samen met het letternummer.