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}")