Kebetulan banyak sekali yang tanya ke saya tentang masalah force close pada aplikasi Android, Dan karena penyebab force close itu macam-macam, saya pun bingung harus menjawab bagaimana. Mungkin itulah kenapa kali ini saya akan membahas tentang troubleshooting atau penanganan error apabila terjadi force close pada aplikasi Android buatan kalian.
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!
0 komentar:
Posting Komentar