Adalah kebiasaannya tidak disukai untuk menggunakan "kecuali: lulus" dalam Python kerana dua sebab utama:
Menggunakan "kecuali:" tanpa menyatakan jenis pengecualian menangkap semua pengecualian, termasuk:
Menangkap semua pengecualian boleh menutupi ralat kritikal yang harus dikendalikan atau dilaporkan dengan segera. Ia boleh menyukarkan untuk mengenal pasti punca isu dan menghalang pemulihan atau prosedur pembersihan yang betul.
Contohnya, jika anda mengendalikan fail I/O, menangkap FileNotFoundError adalah sesuai kerana anda boleh mengendalikan dengan anggun dengan memaparkan mesej ralat atau menawarkan lokasi fail lalai. Walau bagaimanapun, menangkap semua pengecualian berkemungkinan terlepas ralat yang lebih teruk, seperti kegagalan cakera atau isu kebenaran, yang memerlukan perhatian segera.
Pernyataan "lulus" dalam blok kecuali menunjukkan bahawa anda sengaja mengabaikan sebarang pengecualian yang berlaku. Ini bermasalah kerana:
Dalam kes yang jarang berlaku, lulus pengecualian boleh dibenarkan, seperti apabila anda berada dalam gelung yang berulang kali mencuba sesuatu tindakan sehingga berjaya. Walau bagaimanapun, ia harus digunakan dengan berhati-hati dan dengan pemahaman yang jelas tentang kemungkinan akibat.
Daripada menggunakan "kecuali: lulus," adalah lebih baik berlatih untuk:
Atas ialah kandungan terperinci Mengapakah `kecuali: lulus` Dianggap sebagai Amalan Buruk dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!