Gestionarea excepțiilor
Înainte să începi să creezi propriile excepții personalizate, să ne asigurăm că stăpânești elementele de bază ale gestionării excepțiilor.
În acest exercițiu, ai la dispoziție o funcție invert_at_index(x, ind) care primește doi argumente: o listă x și un index ind, și returnează inversul elementului din listă de la acel index. De exemplu, invert_at_index([5,6,7], 0) returnează 1/5, adică 0.2.
Scopul tău este să implementezi gestionarea erorilor astfel încât să ridici excepții personalizate în funcție de tipul de eroare care apare.
Acest exercițiu face parte din cursul
Introducere în Programarea Orientată pe Obiecte în Python
Instrucțiuni pentru exercițiu
Folosește un șablon try - except - except (cu două blocuri except) în interiorul funcției pentru a intercepta și gestiona două excepții astfel:
try– execută codul ca atare, returnând1/x[ind].- dacă apare
ZeroDivisionError, afișează"Cannot divide by zero!" - dacă apare
IndexError, afișează"Index out of range!"
Știi că ai rezolvat corect dacă codul rulează fără erori, iar rezultatul afișat în consolă este:
0.16666666666666666
Cannot divide by zero!
None
Index out of range!
None
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# Modify the function to catch exceptions
def invert_at_index(x, ind):
____:
return 1/x[ind]
_____:
print("____")
____:
print("____")
a_list = [5,6,0,7]
# Works okay
print(invert_at_index(a_list, 1))
# Potential ZeroDivisionError
print(invert_at_index(a_list, 2))
# Potential IndexError
print(invert_at_index(a_list, 5))