⊗pyPmExcFu 82 of 129 menu

Funktion med undtagelse i Python

Undtagelser er meget praktiske at kaste, når man definerer dem i funktioner ved hjælp af betingelser.

Lad os lave en funktion get_sum, som vil returnere summen af elementerne i en liste, kun hvis længden af listen er mindre end eller lig med 3. I modsat fald, lad den kaste vores egen undtagelse ToBigLength:

def get_sum(lst): if len(lst) <= 3: return sum(lst) else: raise ToBigLength

Lad os nu give funktionen get_sum en liste og udskrive resultatet i konsollen:

lst = [1, 2, 3, 4] print(get_sum(lst)) # vil udskrive 6

Man kan også håndtere flere typer undtagelser i funktioner. Lad os oprette endnu en undtagelsesklasse ToSmallLength:

class ToSmallLength(Exception): pass

Lad os nu tilføje en betingelse i funktionen: hvis længden af listen er nul, så lad den kaste ToSmallLength. Hvis ingen undtagelser bliver kastet, så lad den returnere summen af alle elementerne i listen:

def get_sum(lst): if len(lst) > 3: raise ToBigLength if len(lst) == 0: raise ToSmallLength else: return sum(lst)

For nemheds skyld kan man indkapsle listen, som bliver givet til funktionen, selve funktionskaldet og dens udskrift i en try-blok. Og håndteringen af vores to undtagelser placeres i except-blokkene:

try: lst = [1, 2, 3] res = get_sum(lst) print(res) except ToBigLength: print('error 1') except ToSmallLength: print('error 2')

Opret en funktion, som tager et tal som parameter. I den, tilføj betingelser: hvis tallet er negativt eller lig med nul, så lad den kaste de respektive undtagelser. I modsat fald, lad tallet blive ganget med 3.

Test den funktion, du har oprettet, med hjælp af en try-except-konstruktion. Ved denne lejlighed skal du også håndtere dine undtagelser.

Dansk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi bruger cookies til webstedets funktion, analyse og personalisering. Behandling af data foregår i henhold til Fortrolighedspolitikken.
accepter alle tilpas afvis