Force close biasa ditandai dengan aplikasi yang tiba-tiba berhenti atau nge-hang pada saat dijalankan. Dan kemudian ditandai dengan munculnya alert dialog yang berbunyi “The application has stopped unexpectedly. Please try again”. Walaupun di alert dialognya kita disuruh untuk try again, atau coba lagi. Tapi tentu saja itu tidak menangani masalah. Apabila masalah aslinya tidak diperbaiki, aplikasi akan tetap mengalami force close
Force close Android termasuk ke dalam jenis runtime error, yaitu error atau kerusakan yang baru muncul apabila aplikasi dijalankan, karena itu dinamakan runtime. Kesalahan ini biasanya tidak terdeteksi kalau aplikasi tidak dijalankan, karena tidak ada marker error pada IDE. Namun saat aplikasi Android itu dijalankan, langsung deh tiba-tiba terjadi force close.
Runtime error sebagai penyebab force close sendiri bermacam-macam jenisnya, namun berikut ini adalah beberapa runtime error yang kerap kali terjadi :
- NullPointerException error ini biasanya terjadi karena variabel yang masih kosong/belum diinisialisasi namun sudah digunakan. Saking terkenalnya, jenis error ini yang paling eksis di Twitter
- ArrayIndexOutOfBoundsException terjadi apabila array kita kepenuhan muatan. Seperti contohnya kita punya array 3 elemen, tapi diisi hingga 4 elemen. Error ini juga biasa disebut dengan ArrayIndexOutOfRange exception.
- OutOfMemoryError yang ini disebabkan karena kita memasukkan nilai di luar jangkauan tipe variabel. Misalnya kita memasukkan nilai 100.000 ke dalam sebuah variabel int (integer) yang jangkauan maksimalnya hanya sekitar 30.000-an.
- lainnya seperi NumberFormatException, ArithmeticException, StackOverflow, dan sebagainya.
Cara Menangani Aplikasi yang Force Close
Sekarang kita masuk ke cara menanganinya. Untuk masalah ini tools yang kalian butuhkan adalah LogCat. Udahlah LogCat itu tools paling powerful ketika kita ingin mengecek error apa saja yang terjadi pada aplikasi Android. Kalian nggak perlu belajar debugging, asal bisa baca LogCat saja, itu sudah lebih dari cukup.Contohnya seperti gambar di atas, kita sedang asyik-asyik ngetest aplikasi kita tiba-tiba muncul dialog seperti di atas. Ngeselin nggak? hehe Kalo kalian tau cara mengatasinya, itu justru menjadi sebuah tantangan.
Jika kalian menemui masalah force close seperti di atas, langsung buka LogCat pada Eclipse. Untuk memunculkan Logcat caranya, klik Window > Show View > Other. Kemudian pilih Android > Logcat. Kalau LogCat sudah muncul cari tulisan berwarna merah seperti gambar di bawah ini.
Nah, sekarang kita latihan belajar baca Logcat. Kalau pada gambar di atas ada tiga kolom. Kolom pertama adalah nama package yang menyebabkan error, sedangkan kolom kedua adalah jenis error. Di situ tertulis Android Runtime, seperti yang saya jelaskan di atas, error yang hanya muncul pada saat aplikasi di-run. Kolom ketiga adalah penjelasan detail tentang errornya.
Di sini kalian mula-mula ke baris pertama/baris paling atas. Biasanya tulisannya FATAL EXCEPTION. Kalau sudah ketemu, coba lihat baris berikutnya (yang saya beri kotak biru), itu adalah jenis dari error, kebetulan ini jenis error-nya adalah NullPointerException. Setelah itu di baris selanjutnya, biasanya nggak sampe lima baris adalah baris kode aplikasi kalian yang menyebabkan error, saya beri tanda kotak hijau. Untuk membedakan mana kode buatan kalian dan mana yang bukan, bisa dilihat dari nama package-nya.
Baris-baris selanjutnya, itu adalah kode-kode dari OS Android yang menyebabkan error. Dan tidak begitu penting (saya beri kotak abu-abu) karena kita nggak bisa merubah kode-kode yang ada di situ. Yang penting adalah kalian segera memperbaiki kode penyebab error dari aplikasi kalian, yang ada di kotak hijau.
Cuma itu yang perlu kalian lakukan! Cara memperbaikinya tergantung dari jenis error yang kalian alami. Apabila kalian punya cara-cara lain untuk mengatasi error force close, silahkan tinggalkan komentar. Good luck!