Daftar Isi:
Video: Web Programming - Computer Science for Business Leaders 2016 2024
pemrograman HTML5 dan CSS3 yang nyata berbahaya. Banyak hal bisa salah di PHP. Jadi cara cerdas untuk memprogram data adalah pemrograman defensif . Praktik ini melibatkan mengantisipasi kesalahan dan mencoba menyelesaikannya dengan anggun. PHP memiliki beberapa teknik penanganan kesalahan tingkat lanjut yang tersedia yang sempurna untuk tugas ini.
Bayangkan Anda menulis beberapa kode yang terlihat seperti ini:
print 5/0;
Anda mungkin tidak akan melakukan itu, tapi kadang-kadang kode buruk tergelincir. Jika server Anda siap untuk melewatkan pesan kesalahan, Anda akan melihat sesuatu seperti ini.
Pengecualian penanganan
Sebenarnya ada lebih banyak hal yang terjadi daripada yang mungkin Anda hargai sejak awal. Perilaku default banyak instalasi PHP adalah menyembunyikan kesalahan. Namun, kesalahan terjadi, terutama jika Anda mengizinkan masukan pengguna. Kode ini mencantumkan perangkap eksplisit untuk kesalahan dan melaporkannya terlepas dari setelan server:
coba phpgetMessage ();} // akhiri coba? >
Inilah yang terjadi:
-
Gunakan kata kunci coba untuk menunjukkan kode yang berpotensi berbahaya.
Kata kunci coba membuka blok kode (seperti loop atau kondisi). Semua kode antara try and catch dianggap berpotensi berbahaya.
-
Tempatkan kode berbahaya di blok coba.
Setiap kode yang mungkin menyebabkan kesalahan harus ditempatkan di dalam blok percobaan. Kode yang paling berbahaya biasanya melibatkan hal-hal yang tidak dapat dikendalikan oleh programmer: akses ke file eksternal, operasi pada data yang ditentukan pengguna, atau paparan program dan proses eksternal.
-
Gunakan klausa tangkapan untuk mengantisipasi kesalahan.
Klausa tangkapan menunjukkan akhir dari kode berbahaya.
-
Tunjukkan jenis pengecualian.
Parameter untuk klausa tangkapan adalah objek tipe Exception. PHP memiliki sejumlah pengecualian built-in, dan seringkali sebuah library atau toolset akan mencakup pengecualian baru (Anda juga bisa membangunnya sendiri jika Anda mau).
-
Mengelola pengecualian.
Klausul tangkapan membuka blok kode lagi. Letakkan kode di sini yang akan menyelesaikan masalah (atau paling tidak mati dengan sedikit gaya dan anugerah - menginformasikan pengguna apa yang salah sebelum melepaskan kumparan fana ini). Baris yang paling umum adalah menelepon print ($ e-> getMessage ()). Semua objek pengecualian memiliki metode getMessage (), dan baris ini melaporkan pesan kesalahan saat ini.
Mengetahui kapan harus menjebak pengecualian
Jika server Anda disiapkan untuk debugging (seperti XAMPP secara default), biasanya tidak diperlukan pengaturan penanganan pengecualian karena perilaku default dari setup debug adalah untuk laporkan pengecualiannya.Ada beberapa kali Anda masih ingin penanganan pengecualian eksplisit:
-
Anda berada di server tanpa pengaturan debug: Anda mungkin tidak memiliki akses ke konfigurasi server, jadi Anda mungkin tidak dapat mengaktifkan otomatis laporan pengecualian Laporan pengecualian manual masih bisa dilewati.
-
Anda ingin melakukan sesuatu yang istimewa: Penangan pengecualian otomatis hanya melaporkan masalahnya. Jika Anda ingin melakukan sesuatu yang lain (misalnya, gunakan file default jika file tidak ditemukan), Anda memerlukan pengendali pengecualian khusus untuk situasi itu.
-
Anda melakukan sesuatu yang eksotis: Pustaka khusus sering kali hadir dengan pengecualian khusus mereka sendiri, dan Anda memerlukan pengendali pengecualian untuk meliput situasi ini.