Exception Handling di Kotlin (Try/Catch)
Penjelasan
Exception handling di Kotlin memakai try/catch, sintaksnya mirip Java, TAPI (sama seperti if dan when) try di Kotlin juga bisa dipakai sebagai EXPRESSION yang menghasilkan nilai. Beda penting lain: Kotlin TIDAK punya checked exception seperti Java — kamu tidak WAJIB menangkap atau mendeklarasikan exception apa pun, meski tetap disarankan untuk menangani yang relevan.
Contoh Konsep
fun bagi(a: Int, b: Int): Int {
if (b == 0) {
throw IllegalArgumentException("Tidak bisa membagi dengan nol.")
}
return a / b
}
fun main() {
val hasil = try {
bagi(10, 0)
} catch (e: IllegalArgumentException) {
println("Error: ${e.message}")
-1 // nilai default kalau error
}
println(hasil) // -1
}
Praktikum
Buat fungsi ambilElemen(data: List<Int>, index: Int): Int yang melempar IndexOutOfBoundsException kalau index di luar jangkauan data. Panggil fungsi itu di dalam try/catch dengan index yang sengaja tidak ada, lalu tampilkan pesan errornya.
Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.
Tips
Karena try adalah expression, kamu bisa langsung menampung hasilnya ke variabel (val hasil = try { ... } catch { ... }) — pastikan blok try dan SEMUA blok catch mengembalikan tipe data yang kompatibel, sama seperti aturan if/when sebagai expression.