⊗pyPmExcFu 82 of 129 menu

Funzione con eccezione in Python

Le eccezioni sono molto comode da lanciare, inserendole nelle funzioni tramite condizioni.

Creiamo una funzione get_sum, che restituirà la somma degli elementi di una lista solo se la lunghezza della lista è minore o uguale a 3. In caso contrario, venga lanciata la nostra eccezione ToBigLength:

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

Ora passiamo alla funzione get_sum una lista e stampiamo il risultato in console:

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

Nelle funzioni è anche possibile intercettare più tipi di eccezioni. Creiamo un'altra classe di eccezioni ToSmallLength:

class ToSmallLength(Exception): pass

Ora scriviamo nella funzione una condizione: se la lunghezza della lista è zero, allora viene lanciata ToSmallLength. Se invece non viene intercettata nessuna eccezione, allora viene restituita la somma di tutti gli elementi della lista:

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

Per comodità, possiamo racchiudere la lista che verrà passata come parametro alla funzione, la funzione stessa e la sua chiamata in un blocco try. E posizioniamo l'intercettazione delle nostre due eccezioni nei blocchi except:

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

Create una funzione che accetti un numero come parametro. In essa, scrivete delle condizioni: se il numero è negativo o uguale a zero, vengano lanciate le rispettive eccezioni. in caso contrario il numero viene moltiplicato per 3.

Verificate il funzionamento della funzione da voi creata usando la struttura try-except. Inoltre, intercettate le vostre eccezioni.

Italiano
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesia日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Utilizziamo i cookie per il funzionamento del sito, l'analisi e la personalizzazione. I dati vengono elaborati in conformità con la Politica sulla privacy.
accetta tutto personalizza rifiuta