Video: From C to Python by Ross Rheingans-Yoo 2024
Python ger en mängd standard undantag som du bör använda när det är möjligt. Dessa undantag är otroligt flexibla, och du kan även ändra dem efter behov (inom förnuft) för att möta specifika behov.
Ibland måste du helt enkelt skapa ett anpassat undantag eftersom ingen av de vanliga undantagen kommer att fungera. Kanske kan undantagsnamnet inte berätta betraktaren syftet med undantaget. Du kan behöva ett anpassat undantag för specialiserat databasarbete eller när du arbetar med en tjänst.
Detta exempel visar en snabb metod för att skapa egna undantag. För att utföra denna uppgift måste du skapa en klass som använder ett befintligt undantag som utgångspunkt. För att göra saker lite enklare skapar detta exempel ett undantag som bygger på funktionaliteten som tillhandahålls av ValueError-undantaget.
Fördelen med att använda detta tillvägagångssätt är att detta tillvägagångssätt berättar för alla som följer dig exakt vad tillägget till ValueError-undantaget är; Dessutom gör det ändrade undantaget lättare att använda.
-
Öppna ett Python-filfönster.
Du ser en redigerare där du kan skriva exempelkoden.
-
Skriv följande kod i fönstret - tryck på Enter efter varje rad:
klass CustomValueError (ValueError): def __init __ (self, arg): self. strerror = arg själv. args = {arg} försök: höja CustomValueError ("Värdet måste vara inom 1 och 10.") utom CustomValueError som e: print ("CustomValueError Exception!", e. strerror)
Detta exempel lägger samma fel i båda strerror och args så att utvecklaren har tillgång till antingen (som normalt skulle hända).
Koden börjar genom att skapa klassen CustomValueError som använder undantagsklassen ValueError som utgångspunkt. Funktionen __init __ () ger möjlighet att skapa en ny instans av den klassen. Tänk på klassen som en ritning och förekomsten som byggnaden skapade från ritningen.
Observera att strerrorattributet har värdet tilldelat direkt till det, men args tar emot det som en array. Args-medlemmen innehåller normalt en uppsättning av alla undantagsvärden, så det här är standardproceduren, även om args innehåller bara ett värde som det gör nu.
Koden för att använda undantaget är betydligt enklare än att ändra ValueError direkt. Allt du gör är att ringa upp med namnet på undantaget och de argument du vill skicka, allt på en rad.
-
Välj Kör → Kör modul.
Du ser ett Python Shell-fönster öppet.Applikationen visar brevsekvensen tillsammans med bokstavsnumret.