Pengecualian menjadikannya sangat mudah untuk menulis kod dengan pengecualian yang dilempar akan memecahkan invarian dan meninggalkan objek dalam keadaan tidak konsisten. Mereka pada asasnya memaksa anda untuk mengingati bahawa kebanyakan setiap pernyataan yang anda buat berpotensi boleh membuang, dan mengendalikannya dengan betul. Melakukannya boleh menjadi rumit dan bertentangan dengan intuitif.
Mengapa pengecualian adalah C++ yang buruk?
Sebab utama pengecualian C++ sering dilarang ialah bahawa amat sukar untuk menulis kod C++ selamat pengecualian. Keselamatan pengecualian bukanlah istilah yang sering anda dengar, tetapi pada asasnya bermaksud kod yang tidak merosakkan dirinya dengan teruk jika timbunan dibongkar.
Adakah kecuali pengecualian buruk?
Anda harus menggunakan sekurang-kurangnya kecuali Pengecualian : untuk mengelak menangkap sistem exceptions seperti SystemExit atau KeyboardInterrupt. Berikut ialah pautan ke dokumen. Secara umum anda harus mentakrifkan secara eksplisit exceptions yang anda ingin tangkap, untuk mengelakkan menangkap exceptions yang tidak diingini. Anda sepatutnya tahu pengecualian yang anda abaikan.
Mengapakah pengecualian tangkapan hampir selalu merupakan idea yang tidak baik?
catch(Exception) ialah amalan buruk kerana ia menangkap semua RuntimeException (pengecualian tidak ditandai) juga. Ini mungkin khusus java: Kadangkala anda perlu memanggil kaedah yang membuang pengecualian yang diperiksa. Jika ini berada dalam lapisan logik EJB / perniagaan anda, anda mempunyai 2 pilihan - tangkap atau buang semula.
Adakah pengecualian tidak baik untuk prestasi?
Kesimpulan. Tidak menggunakanpengecualian kerana potensi kesan prestasinya ialah idea yang tidak baik. Pengecualian membantu menyediakan cara yang seragam untuk menangani masalah masa jalan dan ia membantu menulis kod bersih. Walau bagaimanapun, anda perlu mengesan bilangan pengecualian yang dilemparkan dalam kod anda.