Daftar Referensi Python

raise dipakai untuk melempar error (exception) secara sengaja — misalnya saat fungsi menerima nilai yang tidak masuk akal. Pasangannya try/except: raise membunyikan alarm, try/except yang menangkapnya.

Sintaks

raise NamaException("pesan yang menjelaskan masalahnya")

Exception Bawaan yang Sering Dilempar

Exception Cocok untuk
ValueError nilai tidak masuk akal (umur negatif, format salah)
TypeError tipe data salah (string padahal butuh angka)
KeyError / IndexError kunci/posisi tidak ada
ZeroDivisionError pembagian dengan nol

Contoh

def set_umur(umur):
    if umur < 0:
        raise ValueError("Umur tidak boleh negatif")
    print("Umur tersimpan:", umur)

set_umur(17)

Coba di IDE

Output:

Umur tersimpan: 17

Contoh Lainnya

Dilempar lalu ditangkap try/except

def set_umur(umur):
    if umur < 0:
        raise ValueError("Umur tidak boleh negatif")

try:
    set_umur(-5)
except ValueError as e:
    print("Error:", e)

Coba di IDE

Output:

Error: Umur tidak boleh negatif

Pesan yang lebih jelas dari bawaan Python

def bagi(a, b):
    if b == 0:
        raise ZeroDivisionError("Pembagi tidak boleh nol")
    return a / b

try:
    bagi(10, 0)
except ZeroDivisionError as e:
    print(e)

Coba di IDE

Output:

Pembagi tidak boleh nol

Kesalahan Umum

  • raise "ada error!"TypeError — yang dilempar harus exception, bukan string.
  • Melempar Exception generik — pilih yang spesifik (ValueError, TypeError) supaya penangkapnya bisa membedakan jenis masalah.
  • Menangkap error lalu mendiamkannya (except: pass) — masalah jadi tersembunyi. Minimal cetak atau lempar ulang dengan raise tanpa argumen.

Pelajari Lebih Lanjut