Pengecualian membuatnya sangat mudah untuk menulis kode di mana pengecualian yang dilempar akan merusak invarian dan meninggalkan objek dalam keadaan tidak konsisten. Mereka pada dasarnya memaksa Anda untuk mengingat bahwa hampir setiap pernyataan yang Anda buat berpotensi melempar, dan menanganinya dengan benar. Melakukannya bisa jadi rumit dan kontra-intuitif.
Mengapa pengecualian C++ buruk?
Alasan utama pengecualian C++ begitu sering dilarang adalah bahwa sangat sulit untuk menulis pengecualian kode C++ yang aman. Keamanan pengecualian bukanlah istilah yang sering Anda dengar, tetapi pada dasarnya berarti kode yang tidak terlalu rusak jika tumpukan dilepas.
Apakah pengecualian buruk?
Anda harus menggunakan setidaknya kecuali Pengecualian : untuk menghindari penangkapan sistem pengecualian seperti SystemExit atau KeyboardInterrupt. Berikut tautan ke dokumen. Secara umum Anda harus mendefinisikan secara eksplisit pengecualian yang ingin Anda tangkap, untuk menghindari penangkapan pengecualian yang tidak diinginkan. Anda harus tahu pengecualian apa yang Anda abaikan.
Mengapa pengecualian tangkap hampir selalu merupakan ide yang buruk?
catch(Exception) adalah praktik yang buruk karena ia juga menangkap semua RuntimeException (pengecualian yang tidak dicentang). Ini mungkin khusus untuk Java: Terkadang Anda perlu memanggil metode yang membuang pengecualian yang dicentang. Jika ini ada di lapisan logika EJB / bisnis Anda, Anda memiliki 2 pilihan - tangkap atau lempar kembali.
Apakah pengecualian buruk untuk kinerja?
Kesimpulan. Tidak menggunakanpengecualian karena potensi dampak kinerjanya adalah ide yang buruk. Pengecualian membantu memberikan cara yang seragam untuk mengatasi masalah runtime dan membantu menulis kode yang bersih. Namun Anda perlu melacak jumlah pengecualian yang dilemparkan ke dalam kode Anda.