Exception dan Penanganan Kesalahan dalam Python
Ketika menjalankan program Python, terkadang muncul kesalahan yang menyebabkan program berhenti. Kesalahan tersebut dapat terjadi karena penulisan kode yang tidak tepat, penggunaan data yang tidak sesuai, atau kondisi tertentu yang baru diketahui ketika program sedang berjalan.
Sebelum mempelajari materi tentang Exception dan Penanganan Kesalahan dalam Python, terlebih dahulu pelajari materi tentang: Berkas CSV dalam Python, Membaca Berkas CSV dalam Python, dan Menulis Berkas CSV dalam Python.
Sebelum mempelajari materi tentang Exception dan Penanganan Kesalahan dalam Python, terlebih dahulu pelajari materi tentang: Berkas CSV dalam Python, Membaca Berkas CSV dalam Python, dan Menulis Berkas CSV dalam Python.
Python menyediakan mekanisme yang disebut exception untuk menangani kondisi tersebut. Dengan penanganan exception yang tepat, program dapat memberikan pesan yang lebih jelas dan tetap menjalankan bagian program lainnya tanpa berhenti secara tiba-tiba. Memahami exception merupakan bagian penting dalam pembelajaran Python karena hampir setiap program dapat menghadapi kondisi yang tidak terduga.
Contohnya, program mencoba membagi angka dengan nol:
hasil = 10 / 0
Kode tersebut akan menghasilkan kesalahan karena pembagian dengan nol tidak dapat dilakukan. Contoh lainnya adalah ketika program mencoba mengubah teks menjadi bilangan:
angka = int("abc")
Nilai `"abc"` tidak dapat diubah menjadi bilangan bulat sehingga Python menghasilkan exception.
Contoh:
if angka > 10
print(angka)
Kode tersebut tidak memiliki tanda titik dua setelah kondisi `if`. Python akan memberikan pesan kesalahan sebelum program dapat dijalankan dengan benar.
Contoh:
angka = 10
hasil = angka / 0
Penulisan program dapat dikenali oleh Python, tetapi operasi pembagian tersebut tidak dapat dilakukan.
Sebagai contoh, program yang meminta angka dari pengguna perlu mengantisipasi kemungkinan pengguna memasukkan teks.
try:
# kode yang mungkin menghasilkan exception
except:
# kode yang dijalankan jika exception terjadi
Contoh:
try:
angka = int(input("Masukkan angka: "))
print(angka)
except:
print("Input harus berupa angka")
Jika pengguna memasukkan:
25
program dapat menjalankan perintah seperti biasa.
Jika pengguna memasukkan:
abc
program akan menjalankan bagian `except`.
Contoh:
try:
angka = int(input("Masukkan angka: "))
except ValueError:
print("Input harus berupa angka")
`ValueError` digunakan ketika nilai yang diberikan tidak sesuai dengan bentuk data yang dibutuhkan. Pendekatan ini lebih baik daripada menggunakan `except` tanpa menyebutkan jenis exception karena penyebab kesalahan dapat diketahui dengan lebih jelas.
Contoh:
angka = int("halo")
Program dapat menangani kondisi tersebut:
try:
angka = int(input("Masukkan angka: "))
except ValueError:
print("Nilai yang dimasukkan bukan angka")
Exception ini sering muncul ketika data dari `input()` akan diubah menjadi angka.
Contoh:
try:
hasil = 10 / 0
except ZeroDivisionError:
print("Tidak dapat membagi dengan nol")
Dengan penanganan tersebut, program dapat memberikan pesan yang lebih jelas.
Contoh:
angka = 10
teks = "5"
hasil = angka + teks
Program tersebut tidak dapat menjumlahkan bilangan dengan teks menggunakan operator `+`.
Penanganannya:
try:
hasil = angka + teks
except TypeError:
print("Jenis data tidak sesuai")
Contoh:
data = [10, 20, 30]
print(data[5])
Daftar tersebut hanya memiliki indeks `0`, `1`, dan `2`. Program dapat menangani kondisi tersebut:
try:
print(data[5])
except IndexError:
print("Indeks tidak tersedia")
Contoh:
siswa = {
"Nama": "Andi",
"Kelas": "10A"
}
print(siswa["Umur"])
Kunci `"Umur"` tidak terdapat dalam kamus.
Penanganannya:
try:
print(siswa["Umur"])
except KeyError:
print("Kunci tidak ditemukan")
Contoh:
with open("data.txt", "r") as file:
data = file.read()
Jika `data.txt` tidak ada, Python dapat menghasilkan `FileNotFoundError`.
Penanganannya:
try:
with open("data.txt", "r") as file:
data = file.read()
except FileNotFoundError:
print("Berkas tidak ditemukan")
Contoh:
try:
angka = int(input("Masukkan angka: "))
hasil = 100 / angka
print(hasil)
except ValueError:
print("Input harus berupa angka")
except ZeroDivisionError:
print("Angka tidak boleh nol")
Dengan cara tersebut, program dapat memberikan pesan berbeda sesuai jenis kesalahan.
Contoh:
try:
angka = int(input("Masukkan angka: "))
hasil = 100 / angka
except ValueError:
print("Input bukan angka")
except ZeroDivisionError:
print("Input tidak boleh nol")
Jika pengguna memasukkan `abc`, bagian `ValueError` dijalankan. Jika pengguna memasukkan `0`, bagian `ZeroDivisionError` dijalankan.
Bentuk umum:
try:
# kode yang diuji
except:
# dijalankan jika terjadi exception
else:
# dijalankan jika tidak terjadi exception
Contoh:
try:
angka = int(input("Masukkan angka: "))
except ValueError:
print("Input tidak valid")
else:
print("Angka yang dimasukkan:", angka)
Jika input valid, bagian `else` dijalankan.
Bentuk umum:
try:
# kode
except:
# penanganan kesalahan
finally:
# selalu dijalankan
Contoh:
try:
angka = int(input("Masukkan angka: "))
except ValueError:
print("Input tidak valid")
finally:
print("Program selesai")
Pesan `"Program selesai"` akan tetap ditampilkan.
try:
angka = int(input("Masukkan angka: "))
hasil = 100 / angka
except ValueError:
print("Input harus berupa angka")
except ZeroDivisionError:
print("Angka tidak boleh nol")
else:
print("Hasil:", hasil)
finally:
print("Proses selesai")
Alurnya:
Contoh:
try:
angka = int("abc")
except ValueError as error:
print("Terjadi kesalahan:", error)
Variabel `error` berisi informasi mengenai exception yang terjadi. Cara ini berguna ketika informasi kesalahan perlu ditampilkan atau diperiksa.
Contoh:
try:
angka = int(input("Masukkan angka: "))
except Exception as error:
print("Terjadi kesalahan:", error)
Pendekatan tersebut dapat menangkap berbagai exception. Namun, untuk program yang jelas dan mudah dirawat, penanganan exception yang spesifik biasanya lebih baik jika jenis kesalahan sudah diketahui.
Contoh:
umur = -5
if umur < 0:
raise ValueError("Umur tidak boleh negatif")
Program tersebut menghasilkan `ValueError` ketika nilai umur kurang dari nol. `raise` berguna ketika program memiliki aturan tertentu yang harus dipenuhi.
nilai = 120
if nilai < 0 or nilai > 100:
raise ValueError("Nilai harus berada antara 0 dan 100")
Jika nilai berada di luar batas, program menghasilkan exception.
Contoh:
class NilaiTidakValidError(Exception):
pass
Exception tersebut dapat digunakan:
nilai = 120
if nilai > 100:
raise NilaiTidakValidError("Nilai tidak boleh lebih dari 100")
Cara ini berguna pada program yang memiliki aturan khusus.
class NilaiTidakValidError(Exception):
pass
try:
nilai = 120
if nilai > 100:
raise NilaiTidakValidError("Nilai terlalu tinggi")
except NilaiTidakValidError as error:
print(error)
Program dapat memberikan pesan khusus sesuai kebutuhan.
Contoh:
def bagi(a, b):
return a / b
try:
hasil = bagi(10, 0)
print(hasil)
except ZeroDivisionError:
print("Tidak dapat membagi dengan nol")
Penanganan exception dapat dilakukan ketika fungsi tersebut dipanggil.
for i in range(3):
try:
angka = int(input("Masukkan angka: "))
print("Angka:", angka)
except ValueError:
print("Input harus berupa angka")
Jika salah satu input tidak valid, program tetap dapat melanjutkan perulangan.
try:
angka1 = float(input("Masukkan angka pertama: "))
angka2 = float(input("Masukkan angka kedua: "))
hasil = angka1 / angka2
except ValueError:
print("Input harus berupa angka")
except ZeroDivisionError:
print("Angka kedua tidak boleh nol")
else:
print("Hasil:", hasil)
finally:
print("Program selesai")
Program tersebut menangani dua kemungkinan kesalahan:
try:
with open("data.txt", "r", encoding="utf-8") as file:
isi = file.read()
except FileNotFoundError:
print("Berkas tidak ditemukan")
else:
print(isi)
Jika berkas tersedia, isinya ditampilkan. Jika berkas tidak tersedia, program memberikan pesan yang sesuai.
import csv
try:
with open("data.csv", "r", encoding="utf-8") as file:
data = csv.DictReader(file)
for baris in data:
print(baris)
except FileNotFoundError:
print("Berkas CSV tidak ditemukan")
Cara ini membuat program lebih aman ketika berkas belum tersedia.
Contohnya:
try:
angka = int("abc")
except ValueError:
print("Terjadi kesalahan nilai")
Program mendeteksi `ValueError` dan menjalankan penanganan yang sudah disediakan.
except ValueError:
daripada:
except:
jika jenis kesalahan sudah diketahui.
Contoh:
except ValueError:
print("Masukkan angka yang valid")
Pesan tersebut lebih membantu daripada pesan yang tidak menjelaskan penyebab masalah.
Contohnya:
finally:
print("Proses selesai")
Bagian ini cocok untuk pekerjaan yang harus dilakukan setelah proses utama.
Program menjalankan try
↓
Apakah terjadi exception?
/ \
Tidak Ya
↓ ↓
else except
\ /
↓ ↓
finally
↓
Program lanjut
Jika tidak terjadi exception, bagian `else` dapat dijalankan. Jika terjadi exception, Python mencari `except` yang sesuai. Setelah itu, bagian `finally` dapat dijalankan.
Python menyediakan `try`, `except`, `else`, dan `finally` untuk membantu menangani kondisi tersebut. `try` digunakan untuk menjalankan kode yang berpotensi menghasilkan exception, sedangkan `except` digunakan untuk menangani exception tertentu.
Bagian `else` dapat digunakan untuk menjalankan kode ketika tidak terjadi exception. Sementara itu, `finally` digunakan untuk menjalankan kode setelah proses selesai, baik terjadi exception maupun tidak.
Beberapa exception yang sering ditemui antara lain `ValueError`, `TypeError`, `ZeroDivisionError`, `IndexError`, `KeyError`, dan `FileNotFoundError`.
Selain menangani exception, Python juga memungkinkan program menghasilkan exception sendiri menggunakan `raise`. Dengan pemahaman tersebut, program dapat dibuat lebih terstruktur, aman, dan mampu menghadapi kondisi yang tidak terduga.
Pengertian Exception
Exception adalah kejadian yang muncul ketika terjadi kondisi tidak normal selama program sedang dijalankan.Contohnya, program mencoba membagi angka dengan nol:
hasil = 10 / 0
Kode tersebut akan menghasilkan kesalahan karena pembagian dengan nol tidak dapat dilakukan. Contoh lainnya adalah ketika program mencoba mengubah teks menjadi bilangan:
angka = int("abc")
Nilai `"abc"` tidak dapat diubah menjadi bilangan bulat sehingga Python menghasilkan exception.
Perbedaan Syntax Error dan Exception
Kesalahan dalam Python dapat muncul dalam beberapa bentuk. Dua hal yang penting dibedakan adalah syntax error dan exception.Syntax Error
Syntax error terjadi ketika aturan penulisan kode Python tidak dipenuhi.Contoh:
if angka > 10
print(angka)
Kode tersebut tidak memiliki tanda titik dua setelah kondisi `if`. Python akan memberikan pesan kesalahan sebelum program dapat dijalankan dengan benar.
Exception
Exception biasanya muncul ketika sintaks program sudah benar, tetapi terjadi kondisi bermasalah ketika program berjalan.Contoh:
angka = 10
hasil = angka / 0
Penulisan program dapat dikenali oleh Python, tetapi operasi pembagian tersebut tidak dapat dilakukan.
Alasan Penggunaan Exception
Tanpa penanganan exception, program dapat berhenti ketika kesalahan terjadi. Penanganan exception berguna untuk:- Memberikan pesan kesalahan yang mudah dipahami
- Mencegah program berhenti secara tiba-tiba
- Memberikan kesempatan kepada pengguna untuk memperbaiki input
- Menjalankan bagian program lainnya
- Membuat program lebih kuat terhadap kondisi tidak terduga
- Mempermudah proses pencarian kesalahan
Sebagai contoh, program yang meminta angka dari pengguna perlu mengantisipasi kemungkinan pengguna memasukkan teks.
Bentuk Dasar try dan except
Python menggunakan `try` dan `except` untuk menangani exception. Bentuk sederhananya:try:
# kode yang mungkin menghasilkan exception
except:
# kode yang dijalankan jika exception terjadi
Contoh:
try:
angka = int(input("Masukkan angka: "))
print(angka)
except:
print("Input harus berupa angka")
Jika pengguna memasukkan:
25
program dapat menjalankan perintah seperti biasa.
Jika pengguna memasukkan:
abc
program akan menjalankan bagian `except`.
Menangani Exception Tertentu
Sebaiknya exception yang ditangani ditentukan secara spesifik.Contoh:
try:
angka = int(input("Masukkan angka: "))
except ValueError:
print("Input harus berupa angka")
`ValueError` digunakan ketika nilai yang diberikan tidak sesuai dengan bentuk data yang dibutuhkan. Pendekatan ini lebih baik daripada menggunakan `except` tanpa menyebutkan jenis exception karena penyebab kesalahan dapat diketahui dengan lebih jelas.
ValueError
`ValueError` terjadi ketika suatu fungsi menerima nilai dengan jenis yang benar tetapi isi nilainya tidak sesuai.Contoh:
angka = int("halo")
Program dapat menangani kondisi tersebut:
try:
angka = int(input("Masukkan angka: "))
except ValueError:
print("Nilai yang dimasukkan bukan angka")
Exception ini sering muncul ketika data dari `input()` akan diubah menjadi angka.
ZeroDivisionError
`ZeroDivisionError` muncul ketika program mencoba membagi bilangan dengan nol.Contoh:
try:
hasil = 10 / 0
except ZeroDivisionError:
print("Tidak dapat membagi dengan nol")
Dengan penanganan tersebut, program dapat memberikan pesan yang lebih jelas.
TypeError
`TypeError` terjadi ketika suatu operasi dilakukan terhadap jenis data yang tidak sesuai.Contoh:
angka = 10
teks = "5"
hasil = angka + teks
Program tersebut tidak dapat menjumlahkan bilangan dengan teks menggunakan operator `+`.
Penanganannya:
try:
hasil = angka + teks
except TypeError:
print("Jenis data tidak sesuai")
IndexError
`IndexError` terjadi ketika program mencoba mengakses indeks yang tidak tersedia.Contoh:
data = [10, 20, 30]
print(data[5])
Daftar tersebut hanya memiliki indeks `0`, `1`, dan `2`. Program dapat menangani kondisi tersebut:
try:
print(data[5])
except IndexError:
print("Indeks tidak tersedia")
KeyError
`KeyError` dapat terjadi ketika program mengakses kunci kamus yang tidak tersedia.Contoh:
siswa = {
"Nama": "Andi",
"Kelas": "10A"
}
print(siswa["Umur"])
Kunci `"Umur"` tidak terdapat dalam kamus.
Penanganannya:
try:
print(siswa["Umur"])
except KeyError:
print("Kunci tidak ditemukan")
FileNotFoundError
Exception ini muncul ketika program mencoba membuka berkas yang tidak tersedia.Contoh:
with open("data.txt", "r") as file:
data = file.read()
Jika `data.txt` tidak ada, Python dapat menghasilkan `FileNotFoundError`.
Penanganannya:
try:
with open("data.txt", "r") as file:
data = file.read()
except FileNotFoundError:
print("Berkas tidak ditemukan")
Menggunakan Beberapa except
Satu blok `try` dapat memiliki beberapa `except`.Contoh:
try:
angka = int(input("Masukkan angka: "))
hasil = 100 / angka
print(hasil)
except ValueError:
print("Input harus berupa angka")
except ZeroDivisionError:
print("Angka tidak boleh nol")
Dengan cara tersebut, program dapat memberikan pesan berbeda sesuai jenis kesalahan.
Urutan except
Ketika terdapat beberapa `except`, Python akan mencari penanganan yang sesuai dengan exception yang terjadi.Contoh:
try:
angka = int(input("Masukkan angka: "))
hasil = 100 / angka
except ValueError:
print("Input bukan angka")
except ZeroDivisionError:
print("Input tidak boleh nol")
Jika pengguna memasukkan `abc`, bagian `ValueError` dijalankan. Jika pengguna memasukkan `0`, bagian `ZeroDivisionError` dijalankan.
Menggunakan else
Selain `try` dan `except`, Python menyediakan `else`. Bagian `else` dijalankan jika tidak terjadi exception.Bentuk umum:
try:
# kode yang diuji
except:
# dijalankan jika terjadi exception
else:
# dijalankan jika tidak terjadi exception
Contoh:
try:
angka = int(input("Masukkan angka: "))
except ValueError:
print("Input tidak valid")
else:
print("Angka yang dimasukkan:", angka)
Jika input valid, bagian `else` dijalankan.
Menggunakan finally
`finally` digunakan untuk menjalankan kode tertentu setelah proses `try` dan `except`, baik terjadi exception maupun tidak.Bentuk umum:
try:
# kode
except:
# penanganan kesalahan
finally:
# selalu dijalankan
Contoh:
try:
angka = int(input("Masukkan angka: "))
except ValueError:
print("Input tidak valid")
finally:
print("Program selesai")
Pesan `"Program selesai"` akan tetap ditampilkan.
Contoh try, except, else, dan finally
Keempat bagian dapat digunakan bersama.try:
angka = int(input("Masukkan angka: "))
hasil = 100 / angka
except ValueError:
print("Input harus berupa angka")
except ZeroDivisionError:
print("Angka tidak boleh nol")
else:
print("Hasil:", hasil)
finally:
print("Proses selesai")
Alurnya:
- `try` menjalankan kode utama.
- `except` menangani exception.
- `else` dijalankan jika tidak terjadi exception.
- `finally` dijalankan setelah proses selesai.
Menangkap Pesan Exception
Exception dapat disimpan dalam sebuah variabel menggunakan `as`.Contoh:
try:
angka = int("abc")
except ValueError as error:
print("Terjadi kesalahan:", error)
Variabel `error` berisi informasi mengenai exception yang terjadi. Cara ini berguna ketika informasi kesalahan perlu ditampilkan atau diperiksa.
Menggunakan Exception Secara Umum
Python juga memungkinkan penggunaan `Exception` sebagai kelas dasar untuk menangani berbagai exception.Contoh:
try:
angka = int(input("Masukkan angka: "))
except Exception as error:
print("Terjadi kesalahan:", error)
Pendekatan tersebut dapat menangkap berbagai exception. Namun, untuk program yang jelas dan mudah dirawat, penanganan exception yang spesifik biasanya lebih baik jika jenis kesalahan sudah diketahui.
Menaikkan Exception dengan raise
Python menyediakan kata kunci `raise` untuk menghasilkan exception secara sengaja.Contoh:
umur = -5
if umur < 0:
raise ValueError("Umur tidak boleh negatif")
Program tersebut menghasilkan `ValueError` ketika nilai umur kurang dari nol. `raise` berguna ketika program memiliki aturan tertentu yang harus dipenuhi.
Contoh Penggunaan raise
Misalnya sebuah program hanya menerima nilai antara 0 sampai 100.nilai = 120
if nilai < 0 or nilai > 100:
raise ValueError("Nilai harus berada antara 0 dan 100")
Jika nilai berada di luar batas, program menghasilkan exception.
Membuat Exception Sendiri
Python memungkinkan pembuatan jenis exception sendiri menggunakan kelas.Contoh:
class NilaiTidakValidError(Exception):
pass
Exception tersebut dapat digunakan:
nilai = 120
if nilai > 100:
raise NilaiTidakValidError("Nilai tidak boleh lebih dari 100")
Cara ini berguna pada program yang memiliki aturan khusus.
Menangani Exception Buatan Sendiri
Exception buatan sendiri dapat ditangani menggunakan `except`.class NilaiTidakValidError(Exception):
pass
try:
nilai = 120
if nilai > 100:
raise NilaiTidakValidError("Nilai terlalu tinggi")
except NilaiTidakValidError as error:
print(error)
Program dapat memberikan pesan khusus sesuai kebutuhan.
Exception dalam Fungsi
Exception juga dapat terjadi di dalam fungsi.Contoh:
def bagi(a, b):
return a / b
try:
hasil = bagi(10, 0)
print(hasil)
except ZeroDivisionError:
print("Tidak dapat membagi dengan nol")
Penanganan exception dapat dilakukan ketika fungsi tersebut dipanggil.
Exception dalam Perulangan
Penanganan exception sangat berguna dalam program yang menggunakan perulangan. Misalnya program meminta beberapa input angka:for i in range(3):
try:
angka = int(input("Masukkan angka: "))
print("Angka:", angka)
except ValueError:
print("Input harus berupa angka")
Jika salah satu input tidak valid, program tetap dapat melanjutkan perulangan.
Contoh Program Pembagian
Berikut contoh program sederhana untuk melakukan pembagian:try:
angka1 = float(input("Masukkan angka pertama: "))
angka2 = float(input("Masukkan angka kedua: "))
hasil = angka1 / angka2
except ValueError:
print("Input harus berupa angka")
except ZeroDivisionError:
print("Angka kedua tidak boleh nol")
else:
print("Hasil:", hasil)
finally:
print("Program selesai")
Program tersebut menangani dua kemungkinan kesalahan:
- Input bukan angka
- Pembagian dengan nol
Exception Saat Membaca Berkas
Penanganan exception juga penting ketika bekerja dengan berkas.try:
with open("data.txt", "r", encoding="utf-8") as file:
isi = file.read()
except FileNotFoundError:
print("Berkas tidak ditemukan")
else:
print(isi)
Jika berkas tersedia, isinya ditampilkan. Jika berkas tidak tersedia, program memberikan pesan yang sesuai.
Exception Saat Membaca CSV
Pada pengolahan CSV, exception juga dapat digunakan.import csv
try:
with open("data.csv", "r", encoding="utf-8") as file:
data = csv.DictReader(file)
for baris in data:
print(baris)
except FileNotFoundError:
print("Berkas CSV tidak ditemukan")
Cara ini membuat program lebih aman ketika berkas belum tersedia.
Beberapa Jenis Exception yang Sering Digunakan
| Exception | Kondisi |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Perbedaan Error dan Exception
Istilah error dan exception sering digunakan secara bersamaan, tetapi dalam pembelajaran Python perlu memahami bahwa exception merupakan kondisi yang dapat ditangani menggunakan mekanisme `try` dan `except`.Contohnya:
try:
angka = int("abc")
except ValueError:
print("Terjadi kesalahan nilai")
Program mendeteksi `ValueError` dan menjalankan penanganan yang sudah disediakan.
Praktik yang Baik dalam Penanganan Exception
Beberapa kebiasaan dapat membuat program lebih mudah dipahami.Gunakan Exception yang Spesifik
Lebih baik:except ValueError:
daripada:
except:
jika jenis kesalahan sudah diketahui.
Berikan Pesan yang Jelas
Berikut diberikan contoh pesan yang lebih jelas.Contoh:
except ValueError:
print("Masukkan angka yang valid")
Pesan tersebut lebih membantu daripada pesan yang tidak menjelaskan penyebab masalah.
Jangan Menggunakan Exception untuk Semua Hal
Exception sebaiknya digunakan untuk menangani kondisi yang memang berpotensi menghasilkan kesalahan. Program tetap perlu menggunakan pemeriksaan kondisi biasa ketika kondisi tersebut dapat diketahui sebelum operasi dilakukan.Gunakan finally untuk Proses yang Harus Selalu Dilakukan
Berikut diberikan contoh penggunaan finally untuk proses yang harus selalu dilakukan.
finally:
print("Proses selesai")
Bagian ini cocok untuk pekerjaan yang harus dilakukan setelah proses utama.
Alur Penanganan Exception
Secara sederhana, alurnya dapat digambarkan sebagai berikut:Program menjalankan try
↓
Apakah terjadi exception?
/ \
Tidak Ya
↓ ↓
else except
\ /
↓ ↓
finally
↓
Program lanjut
Jika tidak terjadi exception, bagian `else` dapat dijalankan. Jika terjadi exception, Python mencari `except` yang sesuai. Setelah itu, bagian `finally` dapat dijalankan.
Latihan
Berikut beberapa latihan yang dapat digunakan untuk memperkuat pemahaman.Latihan 1
Buat program yang meminta sebuah bilangan bulat. Tangani kemungkinan pengguna memasukkan teks.Latihan 2
Buat program pembagian dua bilangan dan tangani `ZeroDivisionError`.Latihan 3
Buat program yang mengakses indeks sebuah list dan tangani `IndexError`.Latihan 4
Buat program yang mengambil data dari kamus dan tangani `KeyError`.Latihan 5
Buat program yang membaca sebuah berkas dan tangani `FileNotFoundError`.Latihan 6
Gunakan `try`, `except`, dan `else` dalam sebuah program sederhana.Latihan 7
Gunakan `finally` untuk menampilkan pesan bahwa program telah selesai.Latihan 8
Buat program yang menggunakan `raise` ketika nilai berada di luar rentang 0 sampai 100.Latihan 9
Buat exception sendiri untuk menangani kondisi tertentu.Latihan 10
Buat program pengolahan nilai siswa yang dapat menangani input yang bukan angka.Kesimpulan
Exception merupakan bagian penting dalam Python karena program tidak selalu menerima kondisi yang sesuai dengan harapan. Kesalahan dapat muncul ketika pengguna memberikan input yang salah, berkas tidak tersedia, operasi matematika tidak memungkinkan, atau data yang digunakan tidak sesuai.Python menyediakan `try`, `except`, `else`, dan `finally` untuk membantu menangani kondisi tersebut. `try` digunakan untuk menjalankan kode yang berpotensi menghasilkan exception, sedangkan `except` digunakan untuk menangani exception tertentu.
Bagian `else` dapat digunakan untuk menjalankan kode ketika tidak terjadi exception. Sementara itu, `finally` digunakan untuk menjalankan kode setelah proses selesai, baik terjadi exception maupun tidak.
Beberapa exception yang sering ditemui antara lain `ValueError`, `TypeError`, `ZeroDivisionError`, `IndexError`, `KeyError`, dan `FileNotFoundError`.
Selain menangani exception, Python juga memungkinkan program menghasilkan exception sendiri menggunakan `raise`. Dengan pemahaman tersebut, program dapat dibuat lebih terstruktur, aman, dan mampu menghadapi kondisi yang tidak terduga.
Artikel ini akan dibaca oleh: Diptya Pungkaswara Maranello, Diyah Ayyu Azkiya Damayanti, Emiliana Catherine Corneliesta, Enggar Maulia, dan Erika Aisyah Putri.
5 komentar untuk "Exception dan Penanganan Kesalahan dalam Python"
Hubungi admin melalui Wa : +62-896-2414-6106
Respon komentar 7 x 24 jam, mohon bersabar jika komentar tidak langsung dipublikasi atau mendapatkan balasan secara langsung.
Bantu admin meningkatkan kualitas blog dengan melaporkan berbagai permasalahan seperti typo, link bermasalah, dan lain sebagainya melalui kolom komentar.
- Ikatlah Ilmu dengan Memostingkannya -
Apa yang dimaksud dengan tipe data pada C++?
BalasHapusTipe data C++ merupakan suatu bentuk tipe data yang dapat disimpan oleh variabel tertentu. Contoh, variabel boolean yang dapat memiliki data dengan tipe dua karakter, dan variabel integer yang dapat menampung data tipe bilangan bulat pada C++.
HapusKetika membuat kode program, maka perlu digunakan variabel yang berbeda-beda untuk menyimpan suatu informasi yang berbeda pula. Variabel hanyalah lokasi penyimpanan yang disediakan untuk menyimpan data dalam ketentuan tertent atau menggunakan suatu tipe data tertentu pada C++.
HapusTipe data C++ merupakan bentuk deklarasi untuk variabel tertentu yang digunakan untuk menentukan jenis dan ukuran data yang berkaitan dengan nama variabel yang digunakan.
HapusTipe data C++ digunakan untuk menentukan suatu tipe data yang dapat disimpan oleh variabel seperti tipe data integer, float, char, dan lain sebagainya.
Hapus