Kivételes függvény Pythonban
Nagyon kényelmes kivételeket dobni, ha feltételekkel írjuk őket a függvényekbe.
Készítsünk egy get_sum függvényt,
ami csak akkor adja vissza a lista elemeinek
összegét, ha a lista hossza kisebb
vagy egyenlő, mint 3. Ellenkező esetben
dobjon egy saját ToBigLength kivételt:
def get_sum(lst):
if len(lst) <= 3:
return sum(lst)
else:
raise ToBigLength
Most adjunk át a get_sum függvénynek
egy listát és írjuk ki az eredményt a konzolra:
lst = [1, 2, 3, 4]
print(get_sum(lst)) # kiírja a 6-ot
A függvényekben több típusú kivétel elkapása
is megadható. Készítsünk még egy ToSmallLength
kivétel osztályt:
class ToSmallLength(Exception):
pass
Most írjunk a függvénybe egy feltételt, hogy
ha a lista hossza nulla, akkor dobjon egy
ToSmallLength kivételt. Ha egyik kivétel
sem fordul elő, akkor írja ki a lista
összes elemének az összegét:
def get_sum(lst):
if len(lst) > 3:
raise ToBigLength
if len(lst) == 0:
raise ToSmallLength
else:
return sum(lst)
A kényelem kedvéért tegyük a függvény paraméterének
átadott listát, magát a függvényt és annak hívását
egy try blokkba.
A két kivételünk elkapását pedig helyezzük
a except blokkokba:
try:
lst = [1, 2, 3]
res = get_sum(lst)
print(res)
except ToBigLength:
print('error 1')
except ToSmallLength:
print('error 2')
Hozz létre egy függvényt, amely paraméterként
egy számot vesz fel. Írj bele feltételeket:
ha a szám negatív vagy nulla, akkor
dobja a megfelelő kivételeket.
Egyébként szorozd meg a számot 3-mal.
Ellenőrizd a létrehozott függvényed működését
egy try-except szerkezettel.
Ekkor kapd el a kivételeidet is.