⊗pyPmExcFu 82 of 129 menu

Funktionen mit Exceptions in Python

Es ist sehr praktisch, Exceptions auszulösen, indem man sie in Funktionen mit Hilfe von Bedingungen definiert.

Lassen Sie uns eine Funktion get_sum erstellen, die die Summe der Elemente einer Liste nur dann ausgibt, wenn die Länge der Liste kleiner oder gleich 3 ist. Andernfalls soll unsere Exception ToBigLength ausgelöst werden:

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

Nun übergeben wir der Funktion get_sum eine Liste und geben das Ergebnis in der Konsole aus:

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

In Funktionen kann man auch das Abfangen mehrerer Exception-Typen definieren. Lassen Sie uns noch eine Exception-Klasse ToSmallLength erstellen:

class ToSmallLength(Exception): pass

Nun schreiben wir in der Funktion eine Bedingung: Wenn die Länge der Liste null ist, soll ToSmallLength ausgelöst werden. Wenn keine Exception ausgelöst wird, soll die Summe aller Elemente der Liste ausgegeben werden:

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

Der Übersichtlichkeit halber kann man die Liste, die als Parameter an die Funktion übergeben wird, den Funktionsaufruf selbst, in einen try-Block packen. Und das Abfangen unserer beiden Exceptions platzieren wir in except-Blöcken:

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

Erstellen Sie eine Funktion, die eine Zahl als Parameter entgegennimmt. Definieren Sie in ihr Bedingungen: Wenn die Zahl negativ oder gleich null ist, sollen entsprechende Exceptions ausgelöst werden. Andernfalls soll die Zahl mit 3 multipliziert werden.

Testen Sie die von Ihnen erstellte Funktion mit Hilfe einer try-except-Konstruktion. Fangen Sie dabei auch Ihre Exceptions ab.

Deutsch
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskΕλληνικά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
Wir verwenden Cookies für den Betrieb der Website, Analyse und Personalisierung. Die Datenverarbeitung erfolgt gemäß der Datenschutzerklärung.
alle akzeptieren anpassen ablehnen