Penanganan Error dengan try/except/finally
Program yang menerima masukan dari luar pasti suatu saat menemui data yang tidak sesuai harapan. Blok try menampung kode yang berisiko gagal, except menangkap jenis error tertentu agar program tidak berhenti mendadak, dan finally selalu dijalankan baik gagal maupun berhasil — biasanya untuk menutup file atau koneksi. Tangkap exception yang spesifik seperti ValueError, jangan except: polos, karena menangkap semuanya akan ikut menyembunyikan bug yang sebenarnya perlu kamu perbaiki. Menuliskan as e memberimu objek error-nya sehingga pesannya bisa dicatat ke log.
👀 Contoh dulu
try:
hasil = 10 / 0
except ZeroDivisionError as e:
print('Gagal:', e)
finally:
print('Selesai')Hasilnya: Gagal: division by zero Selesai
📝 Sekarang giliranmu
Variabel input_str berisi teks dari pengguna yang belum tentu berupa angka. Tulis blok yang mencoba mengubahnya menjadi int, menangkap ValueError beserta objek error-nya, lalu mencetak pesan error itu.