Blocco else nella gestione delle eccezioni in Python

Nella costruzione try-except è possibile aggiungere anche un blocco else. Una sfumatura importante è che il codice posizionato nel blocco else verrà eseguito se prima di esso, in try-except, non è stata catturata alcuna eccezione.

Supponiamo di avere una lista:

pythonlst = [1, 2, 3]

Nella costruzione try-except scriviamo la cattura di un'eccezione per un elemento inesistente della lista:

pythontry:
  print(lst[4])
except IndexError:
  print('error: elem is not exist')

Ora specifichiamo nel blocco else la stampa della somma di tutti gli elementi della lista:

pythontry:
  print(lst[4])
except IndexError:
  print('error: elem is not exist')
else:
  print(sum(lst))

Se il codice nel blocco try tenta di accedere a un elemento inesistente, nella console apparirà un messaggio di errore:

error'error: elem is not exist'

Ora impostiamo nel blocco try la stampa di un elemento che sicuramente è presente nella lista:

pythontry:
  print(lst[0])
except IndexError:
  print('error: elem is not exist')
else:
  print(sum(lst))

Dopo l'esecuzione del codice nella console appariranno due numeri: l'elemento specificato in try e la somma di tutti gli elementi della lista:

python1
6
Задание 1

Data la lista:

pythonlst = [1, 2, 3]

Scrivi il codice per catturare l'eccezione relativa alla divisione per zero. Nel caso in cui questa eccezione non si verifichi, deve essere stampata la lunghezza della lista.