Skip to main content

7. Exception Handling.html

Exception Handling

  1. Exception Handling

Exception handling dalam bahasa pemrograman kotlin merupakan mekanisme atau prosedur yang diperlukan dalam menangani runtime error atau kondisi yang tidak terduga ketika program sedang berjalan. Pada dasarnya exception merupakan sebuah kondisi abnormal yang dimana exception ini dapat melakukan disruption pada flow dari program yang sedang berjalan, dengan adanya exception handling ini dapat menangani exception yang yang terjadi pada saat program berjalan sehingga flow dari program tetap berjalan.

Dengan adanya exception handling ini dapat memberikan kemudahan dan kefleksibilitasan kepada developer untuk menangani error yang terjadi ketika program dijalankan atau pada saat runtime. Contohnya seperti berikut:

Dalam contoh di atas, terdapat function divideNumbers yang menerima dua parameter integer a dan b. Di dalam blok try, kita mencoba melakukan operasi pembagian a / b dan mencetak hasilnya. Jika terjadi exception Aritmatika maka program akan masuk ke dalam blok catch ArithmeticException dan mengeluarkan output message ArithmeticException. Jika terjadi exception lain yang tidak ditangkap oleh blok catch sebelumnya, maka program akan melompat ke blok catch terakhir yang menggunakan tipe Exception sebagai penangkapnya.

Selain blok try-catch, terdapat juga blok finally yang akan selalu dieksekusi, baik terjadi exception maupun tidak. Dalam contoh di atas, blok finally digunakan untuk mencetak pesan bahwa proses selesai.

Hirarki dari exception handling ini diawali dengan class utama yaitu class Throwable dan memiliki dua subclass yaitu exception dan Error, untuk lebih jelasnya dapat dilihat pada diagram dibawah ini:

 

Di dalam bahasa pemrograman kotlin, exception handling dibagi menjadi dua bagian, yaitu:

1.    Checked Exception

Checked exception merupakan exception yang menggunakan turunan dari class utama throwable kecuali RuntimeException dan Error. Misalnya menggunakan IOException, SQLException, ClassNotFoundException. Pada checked exception ini java akan melakukan pengecekan program pada saat melakukan compile.

2.    Unchecked Exception

Unchecked exception merupakan exception yang menggunakan class turunan dari class RuntimeException, misalnya menggunakan ArithmeticException, NullPointerException, dll. Unchecked exception ini melakukan pengecekan program bukan pada saat compile, melainkan pada saat program sudah dijalankan atau runtime.

Dalam melakukan implementasi exception handling di bahasa pemrograman kotlin terdapat 5 keyword yang umumnya digunakan, diantaranya:

1.    Try

Sintaks try digunakan untuk menempatkan kode dari program yang ada kemungkinan untuk menimbulkan exception. try harus selalu diikuti dengan catch atau finally itu menandakan bahwa try tidak bisa untuk berdiri sendiri.

2.    catch

Sintaks catch digunakan untuk melakukan handling exception yang terjadi pada blok try. Maka dari itu penggunaan dari catch harus selalu bersamaan dengan try untuk dapat menghandle exception dari try.

3.    Finally

Sintaks finally digunakan untuk mengeksekusi kode yang penting dari program. Penggunaan dari finally tidak ada hubungannya dengan adanya exception atau tidak adanya exception, karena kode program yang ada di dalam finally akan selalu di eksekusi apapun yang terjadi di try dan catch.

4.    Throw

Sintaks throw digunakan untuk melempar exception yang ada secara manual dari method atau blok kode ke method yang memanggilnya. Pada dasarnya throw digunakan untuk memberitahu aplikasi bahwa ada kondisi abnormal atau ada error yang terjadi di dalam program.

5.    throws

Throws digunakan untuk mendeklarasikan exception yang mungkin terjadi pada suatu method kepada method yang memanggilnya. Dengan mendeklarasikan exception dengan throws, method yang memanggil harus menangani exception tersebut dengan menggunakan try-catch atau mendeklarasikan throws untuk methodnya sendiri.

Last modified: Thursday, 10 August 2023, 10:30 AM