⊗pyPmExcFu 82 of 129 menu

Functie met uitzondering in Python

Uitzonderingen zijn erg handig om te throwen, door ze in functies te beschrijven met behulp van voorwaarden.

Laten we een functie get_sum maken, die de som van de elementen van een lijst zal teruggeven, alleen als de lengte van de lijst kleiner dan of gelijk is aan 3. Anders, laat onze uitzondering ToBigLength worden gegooid:

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

Laten we nu een lijst doorgeven aan de functie get_sum en de functie naar de console printen:

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

Ook in functies kan het opvangen van meerdere typen uitzonderingen worden ingesteld. Laten we nog een uitzonderingsklasse ToSmallLength aanmaken:

class ToSmallLength(Exception): pass

Laten we nu in de functie een voorwaarde beschrijven: als de lengte van de lijst gelijk is aan nul, laat dan ToSmallLength worden gegooid. Als geen enkele uitzondering wordt opgevangen, laat dan de som van alle elementen in de lijst worden teruggegeven:

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

Voor het gemak kunnen we de lijst die wordt doorgegeven aan de parameter van de functie, de functie zelf en haar aanroep, in een try blok plaatsen. En de opvang van onze twee uitzonderingen plaatsen we in except blokken:

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

Maak een functie aan die een getal als parameter accepteert. Beschrijf daarin voorwaarden: als het getal negatief is of gelijk is aan nul, laat dan de corresponderende uitzonderingen worden gegooid. Anders laat het getal worden vermenigvuldigd met 3.

Controleer de werking van de door jou gemaakte functie met behulp van een try-except constructie. Vang hierbij ook jouw uitzonderingen op.

Nederlands
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wij gebruiken cookies voor de werking van de site, analyse en personalisatie. De verwerking van gegevens gebeurt volgens het Privacybeleid.
alles accepteren aanpassen weigeren