Belajar Eksepsi Python: Membuat Eksepsi Kustom

belajar cara membuat eksepsi kustom pada python

KakaKiky - Selama perjalanan mempelajari Python, kamu pasti telah menemui berbagai jenis eksepsi seperti ValueError, TypeError, dan lain sebagainya. Namun, terkadang, eksepsi bawaan ini mungkin tidak cukup untuk menangkap kesalahan khusus yang terkait dengan aplikasi yang kamu bangun.

Dalam kasus seperti itu, kamu mungkin ingin membuat eksepsi kustom yang lebih sesuai dengan kebutuhan. Pada materi Python pemula kali ini, kita akan membahas tentang bagaimana cara membuat dan menggunakan eksepsi kustom di Python.

Mengapa Perlu Menggunakan Eksepsi Kustom?

Pembuatan eksepsi kustom dapat sangat berguna dalam beberapa skenario:

  • Spesifikitas: Dengan eksepsi kustom, kamu dapat mendefinisikan kesalahan dengan lebih spesifik sesuai dengan konteks aplikasi kamu.
  • Dokumentasi: Kesalahan kustom memberikan dokumentasi tambahan untuk orang lain yang membaca kode kamu, menjelaskan potensi kesalahan yang mungkin muncul.
  • Kontrol: Memberi kamu kontrol lebih atas kesalahan dan bagaimana mereka harus ditangani.

Cara Membuat Eksepsi Kustom di Python

Eksepsi di Python, seperti segala sesuatu yang lain, adalah objek. Eksepsi kustom dibuat dengan mendefinisikan kelas baru yang mewarisi dari kelas dasar Exception.

Contoh:

class NilaiNegatifError(Exception):
    """Dilempar ketika nilai yang diberikan adalah negatif."""
    pass

angka = -10
if angka < 0:
    raise NilaiNegatifError("Nilai tidak boleh negatif!")

Cara Menambahkan Detail Lebih pada Eksepsi Kustom

Kamu dapat menambahkan lebih banyak informasi ke eksepsi kustom dengan mendefinisikan konstruktor __init__ pada kelas eksepsi.

Contoh:

class BukanHurufError(Exception):
    """Dilempar ketika input bukan huruf alfabet."""

    def __init__(self, input_value, pesan="Input harus berupa huruf alfabet"):
        self.input_value = input_value
        self.pesan = pesan + f": {input_value}"
        super().__init__(self.pesan)

input_teks = "123"
if not input_teks.isalpha():
    raise BukanHurufError(input_teks)

Dalam contoh di atas, BukanHurufError memiliki informasi tambahan mengenai nilai input yang menyebabkan kesalahan.

Cara Menangani Eksepsi Kustom

Menangani eksepsi kustom tidak berbeda dengan menangani eksepsi bawaan. kamu dapat menggunakan pernyataan try dan except seperti biasa.

Contoh:

try:
    angka = -10
    if angka < 0:
        raise NilaiNegatifError("Nilai tidak boleh negatif!")
except NilaiNegatifError as e:
    print(f"Kesalahan: {e}")

Kesimpulan

Eksepsi kustom memberikan fleksibilitas tambahan dalam menangani kesalahan di aplikasi kamu. Mereka memungkinkan kamu untuk mendefinisikan dengan jelas jenis kesalahan yang mungkin muncul dan memberikan informasi lebih lanjut tentang penyebab kesalahan tersebut. Dengan memahami bagaimana cara membuat dan menggunakan eksepsi kustom di Python, kamu dapat meningkatkan kualitas dan keandalan kode kamu. Memastikan bahwa aplikasi kamu dapat menangani kesalahan dengan cara yang tepat adalah langkah penting untuk membangun software yang robust dan user-friendly.