Video: Fun with Music and Programming by Connor Harris and Stephen Krewson 2025
Python giver et væld af standard undtagelser, som du bør bruge, når det er muligt. Disse undtagelser er utroligt fleksible, og du kan endda ændre dem efter behov (inden for grund) for at opfylde specifikke behov.
Sommetider skal du blot oprette en brugerdefineret undtagelse, da ingen af standard undtagelserne vil fungere. Måske giver undtagelsesnavnet bare ikke seeren det formål, at undtagelsen tjener. Du kan muligvis have en brugerdefineret undtagelse til specialiseret databasearbejde eller når du arbejder med en service.
Dette eksempel viser en hurtig metode til at lave dine egne undtagelser. For at udføre denne opgave skal du oprette en klasse, der bruger en eksisterende undtagelse som udgangspunkt. For at gøre tingene lidt lettere skaber dette eksempel en undtagelse, der bygger på funktionaliteten, der leveres af ValueError-undtagelsen.
Fordelen ved at bruge denne tilgang er, at denne tilgang fortæller enhver, der følger dig præcist, hvad tillægget til ValueError-undtagelsen er; Desuden gør den ændrede undtagelse lettere at bruge.
-
Åbn et Python-filvindue.
Du ser en editor, hvor du kan skrive eksempelkoden.
-
Indtast følgende kode i vinduet - tryk Enter efter hver linje:
klasse CustomValueError (ValueError): def __init __ (self, arg): self. strerror = arg selv. args = {arg} Prøv: hæv CustomValueError ("Værdien skal være inden for 1 og 10.") undtagen CustomValueError som e: print ("CustomValueError Exception!", e. strerror)
Dette eksempel placerer den samme fejl i begge streger og args, så at udvikleren har adgang til enten (som normalt ville ske).
Koden begynder ved at oprette klassen CustomValueError, der bruger ValueError-undtagelsesklassen som udgangspunkt. Funktionen __init __ () giver mulighed for at oprette en ny forekomst af denne klasse. Tænk på klassen som en blueprint og forekomsten som bygningen skabt af planen.
Bemærk, at strerrorattributten har den værdi, der er tildelt direkte til den, men args modtager den som en matrix. Args-medlemmet indeholder normalt en række af alle undtagelsesværdierne, så dette er standardproceduren, selvom args kun indeholder en værdi som den gør nu.
Koden til brug af undtagelsen er betydeligt nemmere end at ændre ValueError direkte. Alt du gør er at ringe op med navnet på undtagelsen og de argumenter, du vil overføre, alt sammen på en linje.
-
Vælg Kør → Kør modul.
Du ser et Python Shell vindue åbent.Programmet viser bogstavsekvensen sammen med bogstavnummeret.