10 Exception yang Paling Sering Muncul di Aplikasi Java

Takagi Fujimaru 26 Maret 2018

 10 Exception yang Paling Sering Muncul di Aplikasi Java

OverOps adalah sebuah perusahaan yang membuat produk untuk menganalisis kode di staging dan production untuk mendeteksi semua jenis error dan melaporkan penyebabnya. Beberapa waktu yang lalu mereka merilis hasil analisis terhadap 1 miliar event yang berasal dari 1000 lebih aplikasi Java untuk melihat 10 exception yang paling sering muncul.

Belajar Pemrograman Android dengan Java atau Kotlin?

1. NullPointerException

NullPointerException (NPE) adalah exception yang paling sering muncul. Sir Charles Antony Richard Hoare, pencipta Null Reference sendiri mengatakan bahwa penciptaan null reference pada tahun 1965 adalah sebuah kesalahan yang menyebabkan kerugian yang sangat besar hingga terciptalah istilah one billion dollars mistake.

2. NumberFormatException

Diposisi kedua adalah NumberFormatException yang terjadi saat kita mencoba mengubah String menjadi nilai angka namun String tersebut tidak terformat dengan benar. Misalnya, kita ingin mengubah String kosong untuk menjadi Integer, maka proses perubahan ini bisa menyebabkan NFE terjadi.

3. IllegalArgumentException

Exception ini muncul saat kita memanggil suatu method dengan mengirimkan parameter yang tidak sesuai. Misalnya suatu method meminta parameter bertipe X sedangkan kita mengirimkan data bertipe Y sebagai parameternya. Error ini muncul karena method tersebut tidak dapat memproses parameter yang dikirim.

4. RuntimeException

RuntimeException adalah jenis error yang muncul saat program sedang berjalan dan tidak memberikan compilation error. Sebagai salah satu jenis unchecked exception, RuntimeException tidak bisa dicegah lewat kode.

Salah satu contohnya adalah saat kita mencoba membagi sesuatu dengan angka 0, maka akan muncul ArithmeticException (kelas ini meng-extends RuntimeException). Error karena pembagian dengan angka nol ini tidak bisa diperiksa saat proses kompilasi dan hanya akan terdeteksi saat program sudah berjalan.

5. IllegalStateException

Sebuah IllegalStateException terjadi saat kita mencoba memanggil method diwaktu yang salah. Misalnya, saat kita menggunakan URLConnection untuk terhubung kembali ke alamat yang sudah terhubung kita akan mendapat "IllegalStateException: Already Connected".

6. NoSuchMethodException

Error ini muncul saat kita mencoba memanggil method yang tidak ada.

7. ClassCastException

ClassCastException terjadi saat kita mencoba mengubah sebuah kelas menjadi kelas lain yang bukan *instance-*nya. Kita tidak bisa mengubah suatu objek menjadi objek bertipe kelas yang tidak ia wariskan.

8. Exception

Exception adalah kelas utama dimana semua jenis Exception mewariskannya. Java tidak pernah memanggil Exception secara langsung. Ia muncul bisa jadi karena kita atau pihak ketiga memanggilnya secara eksplisit.

9. ParseException

ParseException muncul saat kita mencoba mengubah String menjadi data tertentu tapi String tersebut tidak terformat dengan benar. Exception ini bisa kita hindari dengan memeriksa terlebih dahulu String tersebut apakah sudah terformat dengan benar atau belum.

10. InvocationTargetException

InvocationTargetException terjadi apabila sebuah method atau konstruktor yang kita panggil menyebabkan suatu exception terpanggil.

Referensi: geeksforgeeks.org, OverOps