5 Cara Terbukti untuk Menangani Kesalahan dan Pengecualian dalam Python
Python adalah favorit di kalangan pemula dan pengembang berpengalaman. Bahkan, sekitar 49,28% pengembang di seluruh dunia menggunakan Python, menurut Survei Pengembang Stack Overflow 2023. Namun, pernahkah Anda mengalami program yang menampilkan kesalahan dan tiba-tiba crash? Tidak dapat dipungkiri bahwa bahkan programmer paling berpengalaman pun menghadapi kesalahan dan pengecualian dalam Python. Kesalahan dan pengecualian tidak dapat dihindari dalam pemrograman; namun, mereka tidak harus menjadi hambatan. Sangat penting untuk memperdalam pemahaman Anda tentang penanganan kesalahan dan pengecualian di Python agar dapat menulis program yang kuat. Jadi, mari kita mendalami dunia kesalahan dan pengecualian dalam Python, jelajahi berbagai jenis kesalahan, dan pelajari cara debugging dengan mudah.
Apa Saja Kesalahan dan Pengecualian yang Umum dalam Pemrograman Python?
Meskipun sebagian besar kesalahan dan pengecualian dalam Python cukup umum, mereka tetap mengganggu jalannya eksekusi kode. Berikut adalah beberapa kesalahan dan pengecualian yang paling sering ditemui dalam Python:
1. Kesalahan Umum
A. Syntax Error
Ini terjadi ketika parser menemukan kesalahan sintaks. Contohnya, lupa menambahkan titik dua setelah pernyataan if
.
if True print(“Ini akan menyebabkan SyntaxError”)
B. Indentation Error
Kesalahan ini muncul ketika level indentasi tidak konsisten, misalnya mencampur tab dan spasi atau salah menyejajarkan blok kode.
def func(): print(“Contoh IndentationError”) print(“Baris ini salah indentasinya”)
C. Name Error
Terjadi ketika nama lokal atau global tidak ditemukan, seperti mencoba menggunakan variabel yang belum didefinisikan.
Contoh:
print(undeclared_variable)
D. Type Error
Kesalahan ini muncul saat operasi atau fungsi diterapkan pada objek dengan tipe yang tidak sesuai. Sebagai contoh, penjumlahan antara string dengan integer.
result = “string” + 5
E. Value Error
Terjadi ketika suatu fungsi menerima argumen dengan tipe yang benar, namun nilainya tidak sesuai, seperti mencoba mengkonversi string yang tidak dapat diubah menjadi integer.
number = int(“not_a_number”)
2. Pengecualian Umum
A. Index Error
Ini terjadi ketika subskrip urutan berada di luar rentang, misalnya mencoba mengakses elemen list yang tidak ada.
my_list = [1, 2, 3] print(my_list[5])
B. Key Error
Terjadi saat kunci dalam kamus tidak ditemukan, seperti mencoba mengakses kunci yang tidak ada dalam kamus.
my_dict = {‘key1’: ‘value1’} print(my_dict[‘key2’])
C. Attribute Error
Kesalahan ini muncul saat referensi atribut atau penugasannya gagal. Contoh, mencoba memanggil metode yang tidak ada.
my_list = [1, 2, 3] my_list.non_existent_method()
D. ImportError
Muncul ketika pernyataan impor gagal menemukan definisi modul, misalnya mencoba mengimpor modul yang tidak terinstal atau tidak ada.
import non_existent_module
E. ZeroDivisionError
Terjadi ketika argumen kedua dari operasi pembagian atau modulo adalah nol, seperti membagi angka dengan nol.
result = 10 / 0
Bagaimana Cara Efektif Mengatasi Kesalahan dalam Kode Python?
-
Pahami Pesan Kesalahan
Ada dua kategori utama kesalahan — kesalahan sintaks dan pengecualian di Python. Kesalahan sintaks adalah kesalahan ketik atau kesalahan tata bahasa, sedangkan pengecualian adalah kesalahan saat runtime selama eksekusi program. Pesan kesalahan juga menunjukkan nomor baris tempat kesalahan terjadi. -
Manfaatkan Teknik Debugging
Python menyediakan debugger bawaan bernamapdb
untuk memeriksa variabel dan ekspresi pada setiap langkah. Pernyataanprint
digunakan untuk memeriksa nilai variabel pada berbagai titik untuk mengungkapkan di mana terjadi kesalahan. -
Gunakan Indentasi yang Benar
Indentasi sangat penting karena menentukan blok kode. Indentasi yang tidak konsisten dapat menyebabkan kesalahan yang tak terduga. -
Periksa Tipe
Gunakan petunjuk tipe atau pemeriksa tipe statis untuk menangkap ketidaksesuaian tipe sebelum runtime. -
Gunakan Blok Try-Except
Blok try-except di Python membantu mencegah crash program. Definisikan pengecualian Python spesifik untuk menangani kesalahan yang ditargetkan. -
Uji Kode
Tulis uji unit untuk memverifikasi perilaku kode Anda di bawah kondisi yang berbeda. Ini dapat membantu menangkap kesalahan selama proses pengembangan.
Apa Praktik Terbaik untuk Menangani Kesalahan dan Pengecualian dalam Python?
Untuk menulis kode yang tangguh, penting untuk menangani kesalahan dan pengecualian dengan baik. Berikut beberapa praktik terbaik penanganan pengecualian di Python:
-
Pengecualian Spesifik
Sebaiknya gunakan pengecualian Python yang spesifik, sepertiZeroDivisionError
atauFileNotFoundError
. Pengecualian spesifik ini menangani kondisi kesalahan yang berbeda dan membuat kode Anda lebih mudah dibaca. -
Dokumentasi
Jangan hanya mencetak pesan kesalahan default. Gunakan Python untuk menampilkan pengecualian yang dapat membantu pengembang lain menangani kesalahan dengan tepat. Buat pesan informatif yang menjelaskan kesalahan dan bagaimana pengguna dapat memperbaikinya. -
Blok Try-Except-Finally
Blok try-except tidak hanya membantu mengidentifikasi pengecualian, tetapi juga menangani pengecualian tersebut. Blok “finally” akan selalu dijalankan, baik pengecualian terjadi atau tidak, sehingga berguna untuk tugas pembersihan. -
Klausa "Else"
Klausaelse
adalah bagian opsional dari blok try-except. Ini dieksekusi hanya jika tidak ada pengecualian yang terjadi di dalam bloktry
. -
Log Pengecualian
Sebaiknya gunakan modul logging di Python untuk mencatat pengecualian. Ini akan membantu debugging. -
Pengecualian Kustom
Pengecualian kustom dapat memberikan pesan kesalahan yang lebih bermakna dan dapat disesuaikan dengan kondisi kesalahan tertentu. -
Context Managers
Context managers yang biasanya digunakan dengan pernyataanwith
membantu menangani operasi pengaturan dan pembongkaran, mengurangi kemungkinan kebocoran sumber daya.