Spesifikasi Pengecualian dalam Tandatangan Fungsi
Soalan:
Mengapa menggunakan "lempar" kata kunci dalam tandatangan fungsi dianggap sebagai amalan buruk dalam C ?
Jawapan:
Menggunakan kata kunci "buang" dalam tandatangan fungsi biasanya tidak digalakkan. Sebaliknya, adalah disyorkan untuk mengendalikan pengecualian dalam fungsi dan menyebarkannya melalui nilai pulangan atau kod ralat.
Spesifikasi pengecualian dalam tandatangan fungsi menentukan pengecualian yang boleh dilemparkan oleh fungsi. Walau bagaimanapun, pengkompil tidak boleh menguatkuasakan pengisytiharan ini. Ia disemak pada masa jalan, yang tidak diingini kerana implikasi prestasinya.
Selain itu, spesifikasi pengecualian tidak disokong dengan baik oleh banyak penyusun. Contohnya, Microsoft Visual C mengabaikan spesifikasi pengecualian, kecuali untuk "throw()", yang ditafsirkan sebagai jaminan bahawa tiada pengecualian akan dilemparkan. Ketidakkonsistenan ini menambah kepada masalah yang mungkin disebabkan oleh penggunaan spesifikasi pengecualian.
Atas ialah kandungan terperinci Mengapakah Spesifikasi Pengecualian dalam Tandatangan Fungsi C Dianggap Amalan Buruk?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!