Pelajaran 8 dari 12
8. Penanganan Error dan Exception
Exception adalah cara Python menangani error yang terjadi saat program berjalan.
Try-Except Block
# Contoh penanganan error
try:
angka = int(input("Masukkan angka: "))
hasil = 10 / angka
print(f"Hasil: {hasil}")
except ValueError:
print("Error: Input harus berupa angka!")
except ZeroDivisionError:
print("Error: Tidak bisa dibagi dengan nol!")
except Exception as e:
print(f"Terjadi error: {e}")
else:
print("Operasi berhasil!")
finally:
print("Blok ini selalu dijalankan")
Membuat Custom Exception
# Custom exception
class NilaiTerlaluKecilError(Exception):
"""Exception ketika nilai terlalu kecil"""
pass
def cek_nilai(nilai):
if nilai < 10:
raise NilaiTerlaluKecilError("Nilai harus 10 atau lebih besar")
return nilai
try:
cek_nilai(5)
except NilaiTerlaluKecilError as e:
print(f"Error: {e}")
Latihan:
Buat program kalkulator sederhana yang meminta input dua angka dan operasi (+, -, *, /), lalu tampilkan hasilnya dengan penanganan error yang tepat.
# Solusi contoh
try:
angka1 = float(input("Masukkan angka pertama: "))
angka2 = float(input("Masukkan angka kedua: "))
operasi = input("Masukkan operasi (+, -, *, /): ")
if operasi == '+':
hasil = angka1 + angka2
elif operasi == '-':
hasil = angka1 - angka2
elif operasi == '*':
hasil = angka1 * angka2
elif operasi == '/':
hasil = angka1 / angka2
else:
raise ValueError("Operasi tidak valid")
print(f"Hasil: {hasil}")
except ValueError as e:
print(f"Input tidak valid: {e}")
except ZeroDivisionError:
print("Error: Pembagian dengan nol!")
except Exception as e:
print(f"Terjadi error: {e}")