> Inti pertanyaan saya lebih efesien dan lebih cepat mana antara cara 1 > (if else) ataukah cara 2 (try catch) ? >
Kalo efisien mungkin lebih baik if else. (Mungkin lho ya..). Detail pastinya saya belum pernah buktiin. Tapi.. best practice yang saya peroleh sampai saat ini adalah try catch. Penjelasan kasarnya begini.. Kalo pada permasalahan yang kompleks dimana banyak variabel yang mempengaruhi (jaringan, user/pass salah, file cacat dsb), maka if else suatu saat akan gagal. Karena seteliti-telitinya programmer membuat program, pasti akan ada miss. Selain itu.. ketika if else-nya udah banyak banget.. source code akan susah dibaca/dimaintain. Pada suatu ketika akan muncul variabel tidak terduga yang belum pernah ada sebelumnya. Misalnya.. ada data yang tidak sengaja diubah nilainya. Apa anda masih mau buka source code (yang sudah penuh dengan if-else) lalu menambah satu lagi if else?? Dengan try catch.. programmer hanya meng-handle kasus dimana data dan input dan semua variable lainnya benar. Jika satu saja dari variabel-variabel itu ada yang tidak benar akan langsung di-catch dan programmer akan dengan mudah memberikan jawaban default. Misalnya -1 untuk integer, string kosong untuk string dsb... Dengan cara seperti ini, code menjadi lebih mudah dimaintain dan tahan banting terhadap variabel-variabel tidak terduga.