Нужна помощь донатом
для написания учебников Kotlin, Java, C++, C#, Go, Rust, Dart
подробности по ссылке
⊗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