Sabtu, 29 September 2012

Membuat pesan error sendiri dengan php




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.

0 komentar:

Poskan Komentar