ÎncepețiÎncepe gratuit

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

Vezi cursul

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ând 1/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))
Editează și rulează codul