⊗pyPmExcFu 82 of 129 menu

Funktion med undantag i Python

Undantag är mycket bekväma att kasta ut, genom att specificera dem i funktioner med villkor.

Låt oss skapa en funktion get_sum, som kommer att returnera summan av elementen i en lista endast om listans längd är mindre än eller lika med 3. Annars, låt vårt undantag ToBigLength kastas:

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

Låt oss nu skicka en lista till funktionen get_sum och skriva ut resultatet till konsolen:

lst = [1, 2, 3, 4] print(get_sum(lst)) # kommer att skriva ut 6

I funktioner kan man också fånga flera typer av undantag. Låt oss skapa ytterligare en undantagsklass ToSmallLength:

class ToSmallLength(Exception): pass

Låt oss nu specificera ett villkor i funktionen: om listans längd är noll, låt ToSmallLength kastas. Om inget undantag fångas, låt summan av alla element i listan returneras:

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

För enkelhetens skull kan man placera listan som skickas till funktionens parameter, själva funktionen och dess anrop i ett try-block. Och fånga våra två undantag i except-block:

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

Skapa en funktion som tar ett nummer som parameter. Specificera villkor i den: om talet är negativt eller lika med noll, låt motsvarande undantag kastas. Annars, låt talet multipliceras med 3.

Testa funktionen du skapade med hjälp av konstruktionen try-except. Vid detta, fånga även dina undantag.

Svenska
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi använder kakor för webbplatsens funktion, analys och personalisering. Behandling av data sker i enlighet med Integritetspolicyn.
acceptera alla anpassa avvisa