Membuat pesan error sendiri dengan php

pesan error dalam php

Jangan kaget melihat pesan error diatas, itu hanya sebuah ilustrasi pesan error yang dimunculkan oleh php

Pesan error yang sering kita temui di lingkungan pemrograman php sangat beragam tergantung proses apa yang sedang dilakukan. Contoh paling gampang seperti gagalnya melakukan koneksi database, gagalnya menjalankan query, atau salahnya penggunaan sebuah function. Secara mendasar memang semua error akan muncul dilayar tanpa diminta dengan format seadanya (bawaan php). Bagaimana jika kita ingin membuat bentuk tampilan error sendiri?? ini bisa kita lakukan selama yang salah bukan cara penulisan phpnya.

Biasanya penanganan error dalam php bisa dilakukan dengan menambahkan perintah :

die("Pesan error")

pada setiap perintah yang rawan dengan error. Akan tetapi kadang perintah itu kurang manjur sehingga error akan tetap muncul seperti wujud aslinya seperti gambar yang ada diatas. Contoh penggunaan die() :

mysql_query("select * from tb_barang") or die("gagal : ".mysql_error());

jika ada kesalahan pada query maka akan muncul tulisan gagal trus pesan errornya.

Secara umum setiap error yang terjadi dalam php akan mengembalikan beberapa nilai balik kepada program/browser, yaitu :

  1. $number - yaitu nomor pesan error yang terjadi lihat referensi error
  2. $string - pesan keterangan error
  3. $file - nama file yang sedang dijalankan
  4. $line - nomor baris file yang sedang dijalankan
  5. $context - jenis pesan kesalahan

Dalam php tersedia yang namanya fungsi set_error_handler ini digunakan untuk mengarahkan sebuah pesan kesalahan yang terjadi. Dengan fungsi ini pula kita bisa melakukan antisipasi apa yang akan dimunculkan jika terjadi kesalahan. Memang fungsi ini jarang sekali digunakan karena kita umumnya mencoba memperbaiki kesalahan programnya. Tapi pada kondisi tertentu, kesalahan tidak terkontrol karena belum ditemukan pada saat pembuatan sehingga pesan akan muncul apa adanya. Ini sebenarnya wajar, tapi dari segi pengembangan mungkin akan sulit karena yang menemui error terkadang tidak kita langsung, jadi mengetahuinya lewat laporan si pengguna.

Bagaimana mengambil semua nilai balik dari terjadinya error??

Untuk semua kesalahan selain penulisan kode php dan kesalahan hasil proses, kita bisa lacak dengan membuat fungsi sendiri yang di sisipkan pada fungsi set_error_handler.

fungsi yang dibuat cukup sederhana, kita lihat berikut :

function PesanErrorPHP($number,$string,$file,$line,$context)
{
    echo "<h2 text-align:\"center\">".$string."</h2>";
}

Kemudian dibagian awal program tambahkan :

set_error_handler('PesanErrorPHP', E_ALL);

Dengan cara seperti ini semua pesan kesalahan akan dialihkan ke fungsi PesanErrorPHP. Ini contoh lengkapnya :

<?php
set_error_handler('pesansalah');
function pesansalah($number,$string,$file,$line,$context)
{
    echo "<h2 style=\"text-align:center;color:red;\">".$string."</h2>";
    //proses simpan catatan error
    //proses pindah halaman
}
//uji coba kesalahan
$file=fopen("welcome.txt","r");
unlink("file.txt");
$a=substr($a);
mysql_connect("localhost","root","salahaja");
mysql_query("select * from contoh");
?>

Kode php diatas jika dijalankan akan memunculkan pesan salah yang ditampilkan dengan format heading 2 warna merah dan menunjukkan kesalahan pada baris-baris uji coba. Berikut ini hasil pesan error yang bisa kita munculkan :

pesan error sendiri dengan php

Pada bagian penanganan kesalahan, kita bisa tambahkan bermacam proses misal menyimpan catatan kesalahan, atau memindahkan halaman atau yang lainya.

Semoga bermanfaat

Zainal Hakim

** Bebas disunting dengan menyebutkan sumber **

Artikel Lainnya

  • Membaca file csv dengan php
    CSV adalah jenis file yang sering digunakan untuk menyimpan data berupa huruf dan angka dalam bentuk plain-text. CSV (comma separated values) ini menyimpan dengan susunan baris data yang dipisah dengan karakter coma.
  • Cara upload gambar dengan php dan menyimpan kedalam database mysql
    Ada dua cara dalam php agar kita bisa upload gambar dan memanggilnya kembali. Cara pertama dengan menyimpan objek gambarnya kedalam database dan cara kedua adalah menyimpan objek gambar dalam folder dan menyimpan nama filenya didalam database mysql.
  • Mengurutkan data mysql dalam laporan php
    Data biasanya diinput dengan cara tak beraturan, bisa saja nama yang awalan Z lebih dulu dimasukkan, atau nomor urut yang lebih besar lebih duluan tergantung data mana yang lebih awal disiapkan. Dan jika dibuatkan laporannya dengan cara biasa saja, tentunya akan muncul sesuai dengan urutan memasukkan datanya ke dalam database. Bagaimana cara mengurutkan data tersebut dalam laporan php?
  • Membuat function di php
    Function adalah kumpulan baris program yang digunakan untuk melakukan proses tertentu dengan tujuan yang sama. Function akan mengembalikan nilai atau hasil yang sudah diproses kepada rutin atau variabel yang menggunakannya. Function dibuat agar program utama dapat ditulis lebih sederhana dan pengulangan proses dapat dilakukan dengan lebih mudah. Dalam php terdapat tiga jenis function yang bisa dijalankan yaitu User-defined, internal dan anonymous functions. Pada artikel berikut saya akan menjelaskan tentang bagaimana membuat function sediri (User Defined) dalam php.
  • Membagi halaman laporan dalam php
    Jumlah data dari mysql yang tampil dalam laporan yang dibuat dengan php tentunya akan sangat mempengaruhi kinerja aplikasi web yang kita buat. Semakin banyak data, pasti prosesnya akan semakin lama dan tentunya agak sedikit menyulitkan orang yang membacanya.

Kiriman terbaru