Default error handling di PHP sangat sederhana. Pesan kesalahan dengan nama file, nomor baris dan pesan yang menjelaskan kesalahan tersebut dikirim ke browser. Show
PHP Penanganan KesalahanKetika membuat script dan aplikasi web, penanganan kesalahan adalah bagian penting. Jika kode Anda tidak memiliki kesalahan kode pengecekan, program anda mungkin terlihat sangat tidak profesional dan Anda mungkin terbuka untuk risiko keamanan. Tutorial ini berisi beberapa kesalahan yang paling umum memeriksa metode dalam PHP. Kami akan menunjukkan metode penanganan kesalahan yang berbeda:
Dasar Penanganan Kesalahan: Menggunakan die() functionContoh pertama menunjukkan sebuah script sederhana yang membuka file teks: <?php Jika file tidak ada Anda mungkin mendapatkan error seperti ini: Warning : fopen(welcome.txt) [function.fopen]: failed to open stream: Untuk mencegah pengguna dari mendapatkan pesan kesalahan seperti di atas, kita menguji apakah file tersebut ada sebelum kita mencoba untuk mengaksesnya: <?php Sekarang jika file tidak ada Anda mendapatkan error seperti ini: File not found Kode di atas adalah lebih efisien daripada kode sebelumnya, karena menggunakan mekanisme penanganan kesalahan yang sederhana untuk menghentikan script setelah kesalahan. Namun, hanya menghentikan script tidak selalu cara yang tepat untuk pergi. Mari kita lihat fungsi PHP alternatif untuk kesalahan penanganan. Membuat Kesalahan Handler KustomMembuat handler kesalahan kustom cukup sederhana. Kami hanya membuat fungsi khusus yang dapat dipanggil ketika terjadi kesalahan di PHP. Fungsi ini harus mampu menangani minimal dua parameter (tingkat kesalahan dan pesan kesalahan) tapi dapat menerima hingga lima parameter (optionally: file, line-number, and the error context) : Sintaksiserror_function(error_level,error_message, Kesalahan tingkat Reporttingkat laporan kesalahan ini adalah jenis yang berbeda dari kesalahan kesalahan handler yang ditetapkan pengguna dapat digunakan untuk: NilaiKonstanDeskripsi2E_WARNINGNon-fatal kesalahan run-time. Pelaksanaan script tidak dihentikan8E_NOTICEpemberitahuan run-time. Script menemukan sesuatu yang mungkin kesalahan, tetapi juga bisa terjadi saat menjalankan script biasanya256E_USER_ERRORFatal user-generated error. Ini seperti E_ERROR ditetapkan oleh programmer menggunakan fungsi PHP trigger_error()512E_USER_WARNINGNon-fatal peringatan user-generated. Ini seperti E_WARNING ditetapkan oleh programmer menggunakan fungsi PHP trigger_error()1024E_USER_NOTICEPengguna dihasilkan pemberitahuan. Ini seperti E_NOTICE ditetapkan oleh programmer menggunakan fungsi PHP trigger_error()4096E_RECOVERABLE_ERRORkesalahan fatal catchable. Ini seperti E_ERROR tapi bisa ditangkap oleh pegangan ditetapkan pengguna (see also set_error_handler() )8191E_ALLSemua kesalahan dan peringatan (E_STRICT became a part of E_ALL in PHP 5.4) Sekarang mari kita membuat fungsi untuk menangani error: function customError($errno, $errstr) { Kode di atas adalah fungsi penanganan kesalahan sederhana. Ketika dipicu, mendapat tingkat kesalahan dan pesan kesalahan. Kemudian output tingkat kesalahan dan pesan dan berakhir script. Sekarang kita telah menciptakan fungsi penanganan kesalahan kita perlu memutuskan kapan harus dipicu. Set Kesalahan HandlerDefault error handler untuk PHP adalah dibangun dalam kesalahan handler. Kami akan membuat fungsi di atas default error handler selama script. Hal ini dimungkinkan untuk mengubah penangan kesalahan untuk mengajukan hanya beberapa kesalahan, cara itu script dapat menangani kesalahan yang berbeda dengan cara yang berbeda. Namun, dalam contoh ini kita akan menggunakan penangan kesalahan kebiasaan kami untuk semua kesalahan: set_error_handler("customError"); Karena kita ingin fungsi kustom kami untuk menangani semua kesalahan, set_error_handler() hanya dibutuhkan satu parameter, parameter kedua dapat ditambahkan untuk menentukan tingkat kesalahan. ContohPengujian penangan kesalahan dengan mencoba untuk variabel output yang tidak ada: <?php Output dari kode di atas harus sesuatu seperti ini: Error: [8] Undefined variable: test Memicu KesalahanDalam naskah di mana pengguna dapat memasukkan data yang berguna untuk memicu kesalahan ketika input ilegal terjadi. Dalam PHP, hal ini dilakukan oleh trigger_error() fungsi. ContohDalam contoh ini kesalahan terjadi jika "test" variabel lebih besar dari "1" : <?php Output dari kode di atas harus sesuatu seperti ini: Notice : Value must be 1 or below Kesalahan bisa dipicu mana saja yang Anda inginkan dalam naskah, dan dengan menambahkan parameter kedua, Anda dapat menentukan apa tingkat kesalahan dipicu. Kemungkinan jenis kesalahan:
ContohDalam contoh ini merupakan E_USER_WARNING terjadi jika "test" variabel lebih besar dari "1" . Jika E_USER_WARNING terjadi kita akan menggunakan penangan error kebiasaan kami dan mengakhiri script: <?php Output dari kode di atas harus sesuatu seperti ini: Error: [512] Value must be 1 or below Sekarang kita telah belajar untuk membuat kesalahan kita sendiri dan bagaimana memicu mereka, mari kita lihat di error logging. kesalahan LoggingSecara default, PHP mengirim log error untuk sistem logging server atau file, tergantung pada bagaimana konfigurasi error_log diatur dalam file php.ini. Dengan menggunakan error_log() berfungsi Anda dapat mengirim error log ke file atau tujuan jarak jauh yang ditentukan. Mengirim pesan kesalahan untuk diri sendiri melalui e-mail dapat menjadi cara yang baik untuk mendapatkan diberitahu kesalahan tertentu. Kirim Pesan Kesalahan oleh E-MailDalam contoh di bawah ini kami akan mengirim e-mail dengan pesan kesalahan dan mengakhiri script, jika kesalahan tertentu terjadi: <?php Output dari kode di atas harus sesuatu seperti ini: Error: [512] Value must be 1 or below Dan surat yang diterima dari kode di atas terlihat seperti ini: Error: [512] Value must be 1 or below Ini tidak boleh digunakan dengan semua kesalahan. kesalahan biasa harus login server menggunakan sistem default PHP logging. Bagaimana cara menampilkan pesan error pada PHP?Cara Menampilkan Pesan Error untuk Debugging Program PHP. Buka File Konfigurasi Server. Silahkan buka file konfigurasi server yang ada di /etc/php5/apache2/php.ini dengan teks editor. ... . Ubah Nilai Konfigurasi ke Mode Development. Ubahlah nilai-nilai konfigurasi error-nya menjadi seperti berikut ini. ... . 3. Hidupkan Ulang Service.. Kenapa PHP error?Error tersebut disebabkan karena nama function yang digunakan tidak ada atau tidak dikenal oleh PHP. Jika function tersebut adalah built in function, misalnya str_split() bisa jadi hal ini disebabkan pada versi PHP yang digunakan belum ada function tersebut.
Apa itu error dalam pemrograman?Dalam bahasa pemrograman, error sering disebut sebagai bug dan proses perbaikannya disebut sebagai debugging. Satu jenis error pada satu pernyataan coding memiliki efek yang bisa menghentikan keseluruhan program.
Apa saja yang mungkin menyebabkan terjadinya kesalahan program saat di eksekusi running Run Time error?Biasanya Runtime error dalam dunia pemrograman ini disebabkan oleh kesalahan dalam proses input, kesalahan perhitungan, dan kesalahan dalam proses output. Saat terjadi runtime error, potensi terjadinya crash pada program menjadi cukup besar.
|