MulaiMulai sekarang secara gratis

Menangkap exception

Sebelum Anda mulai menulis exception kustom sendiri, pastikan Anda menguasai dasar-dasar penanganan exception.

Dalam latihan ini, Anda diberikan fungsi invert_at_index(x, ind) yang menerima dua argumen, sebuah daftar x dan sebuah indeks ind, lalu membalikkan elemen daftar pada indeks tersebut. Misalnya invert_at_index([5,6,7], 0) mengembalikan 1/5, atau 0.2.

Tujuan Anda adalah menerapkan penanganan error untuk memunculkan exception kustom berdasarkan jenis error yang terjadi.

Latihan ini adalah bagian dari kursus

Pengantar Pemrograman Berorientasi Objek di Python

Lihat Kursus

Petunjuk latihan

Gunakan pola try - except - except (dengan dua blok except) di dalam fungsi untuk menangkap dan menangani dua exception sebagai berikut:

  • try jalankan kodenya apa adanya, mengembalikan 1/x[ind].
  • jika terjadi ZeroDivisionError, cetak "Cannot divide by zero!",
  • jika terjadi IndexError, cetak "Index out of range!"

Anda tahu solusi Anda benar jika kode berjalan tanpa error, dan keluaran di konsol adalah:

0.16666666666666666
Cannot divide by zero!
None
Index out of range!
None

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

# 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))
Edit dan Jalankan Kode