Isi kandungan:
Video: Web Programming - Computer Science for Business Leaders 2016 2025
Pemrograman HTML5 dan CSS3 kehidupan nyata berbahaya. Banyak perkara yang boleh salah dalam PHP. Jadi cara bijak untuk memprogramkan data ialah pengaturcaraan defensif . Amalan ini melibatkan mengantisipasi kesilapan dan cuba menyelesaikannya dengan anggun. PHP mempunyai beberapa teknik pengendalian ralat lanjutan yang tersedia yang sesuai untuk tugas tersebut.
Bayangkan anda menulis beberapa kod yang kelihatan seperti ini:
mencetak 5/0;
Anda mungkin tidak akan melakukannya, tetapi kadang kala kod buruk terlewat. Jika pelayan anda disediakan untuk menghantar mesej ralat, anda akan melihat sesuatu seperti ini.
Pengecualian pengecualian
Sebenarnya lebih banyak berlaku daripada yang anda mungkin mulakan pada mulanya. Tingkah laku lalai pemasangan PHP banyak adalah untuk menyembunyikan ralat. Walau bagaimanapun, ralat berlaku, terutamanya jika anda membenarkan input pengguna. Kod ini menyenaraikan perangkap secara jelas untuk kesilapan dan melaporkannya tanpa mengira tetapan pelayan:
cuba. phpgetMessage ();} // end try? >
Berikut adalah apa yang sedang berlaku:
-
Gunakan kata kunci cuba untuk menunjukkan kod yang berpotensi berbahaya.
Kata kunci cuba membuka blok kod (seperti gelung atau keadaan). Semua kod antara cuba dan menangkap dianggap berpotensi berbahaya.
-
Letakkan kod berbahaya di blok cuba.
Mana-mana kod yang mungkin menyebabkan ralat harus diletakkan di dalam blok cuba. Kod yang paling berbahaya biasanya melibatkan perkara yang programmer tidak dapat mengawal secara langsung: akses ke fail luaran, operasi pada data yang ditentukan pengguna, atau pendedahan kepada program dan proses luaran.
-
Gunakan klausa tangkapan untuk menjangka ralat.
Klausa tangkapan menunjukkan akhir kod berbahaya.
-
Tunjukkan jenis pengecualian.
Parameter untuk klausa tangkapan adalah objek Pengecualian jenis. PHP mempunyai beberapa pengecualian terbina dalam, dan seringkali perpustakaan atau set alat termasuk pengecualian baru (anda juga boleh membinanya sendiri jika anda mahu).
-
Uruskan pengecualian.
Klausa tangkapan membuka satu lagi blok kod. Letakkan kod di sini yang akan menyelesaikan masalah (atau sekurang-kurangnya mati dengan sedikit gaya dan rahmat - memaklumkan kepada pengguna apa yang salah sebelum menyingkirkan gegelung fana ini). Baris yang paling biasa di sini ialah memanggil cetakan ($ e-> getMessage ()). Semua objek pengecualian mempunyai kaedah getMessage (), dan garis ini melaporkan mesej ralat semasa.
Mengetahui kapan untuk memerangkap pengecualian
Jika pelayan anda disediakan untuk debugging (sebagai XAMPP secara lalai), biasanya tidak diperlukan untuk menetapkan pengendalian pengecualian kerana tingkah laku lalai penyetelan debug adalah untuk laporkan pengecualian pula.Terdapat beberapa kali anda masih mahu pengendalian pengecualian eksplisit:
-
Anda berada di pelayan tanpa tetapan debug: Anda mungkin tidak mempunyai akses ke konfigurasi pelayan, jadi anda mungkin tidak dapat menghidupkan automatik laporan pengecualian. Laporan pengecualian manual masih diteruskan.
-
Anda ingin melakukan sesuatu yang istimewa: Pengecualian automatik hanya melaporkan masalah itu. Sekiranya anda ingin melakukan sesuatu yang lain (katakan, gunakan fail lalai jika fail tidak dijumpai), anda perlu pengetua pengecualian adat untuk keadaan itu.
-
Anda melakukan sesuatu yang eksotis: Perpustakaan khas sering datang dengan pengecualian adat mereka sendiri, dan anda memerlukan pengecualian untuk menutup situasi ini.
