Dalam pemograman PHP sering ditemukan kesalahan karena terdapat kesalahan pada salah satu prosesnya. Error ini bisa karena komponen yang dibutuhkan oleh program tidak tersedia atau karena kondisi yang diminta oleh program tidak terpenuhi. Misalnya program untuk membuka suatu file tetapi file yang bersangkutan tidak ada, maka secara otomatis browser akan menampilkan error
Jika muncul pesan error pada browser, maka program yang kita buat akan terlihat tidak profesional dan juga memungkinkan adanya celah yang berbahaya bagi keamanan program itu sendiri. Untuk itu perlu dilakukan penanganan error yang menghentikan program kemudian menampilkan pesan error sesuai dengan kondisi yang terjadi
Contoh skrip PHP yang dapat menyebabkan kesalahan
<?php$file=fopen("coba.txt","r");
?>
Dan berikut adalah tampilan error pada browser jika file yang diminta tidak ada
Warning: fopen(coba.txt) [function.fopen]: failed to open stream:
No such file or directory in /var/www/php/demo.php on line 2
_
Penanganan Error pada PHP dengan fungsi die()
Di PHP ada beberapa cara untuk mengatasi error, salah satunya yang paling sederhana adalah dengan menggunakan fungsi die(). Caranya adalah dengan memilih kondisi kemudian jika tidak terpenuhi kita masukkan fungsi die(). Jika fungsi die() dijalankan, program akan berhenti dan skrip program di bawah ini tidak akan dijalankan
Contoh penggunaan fungsi die()
<?phpif(!file_exists("coba.txt")) {
die("File tidak ditemukan");
} else {
$file=fopen("coba.txt","r");
}
while(! feof($file))
{
echo fgets($file). "<br />";
}
fclose($file);
?>
Penjelasan naskah
Contoh diatas adalah program untuk membuka file cobe. txt (baris ke-5) dan tampilkan file baris demi baris hingga akhir file (baris ke-7 hingga baris ke-10). Pada baris ke-2, dilakukan seleksi untuk memeriksa keberadaan file dengan fungsi file_exist()
Fungsi die ditempatkan dengan syarat fungsi file_exist() mengembalikan nilai FALSE karena file tidak ada. Dengan fungsi die(), eksekusi script akan dihentikan dan kode program di bawah (baris 7 sampai akhir) tidak akan dieksekusi. Dengan begitu kita tidak terlalu dipusingkan dengan banyak pemilihan logika setelahnya
Baca Juga. Cara Mengunggah File ke Server Dengan PHP
Tangani error dengan Custom Error Handler dan Trigger Error
Cara kedua untuk menangani error di PHP adalah dengan membuat fungsi Custom Error kemudian membuat Handler untuk menanganinya
Cara membuat Kesalahan Kustom
Untuk membuat kesalahan kustom, aturan penulisan berikut digunakan
error_function(error_level,error_message,
error_file,error_line,error_context)
Deskripsi parameter
- error_level, harus diisi. Ini adalah tingkat kesalahan untuk menentukan kesalahan bagi pengguna. Harus berupa angka yang mengacu pada tabel kesalahan di bawah ini
- error_message, harus diisi. Adalah pesan kesalahan untuk mendefinisikan kesalahan pada pengguna
- error_file, opsional. Adalah nama file yang menyebabkan kesalahan
- error_line, opsional. Apakah nomor baris yang menyebabkan kesalahan
- error_context, opsional. Merupakan array yang berisi semua variabel dan error yang dihasilkan saat error muncul
Tabel Tingkat Laporan Kesalahan
Nilai konstan Description2E_WARNINGRun-time error, tidak fatal. Eksekusi skrip tidak dihentikan8E_NOTICERPemberitahuan waktu berjalan. Skrip menemukan sesuatu yang mungkin merupakan kesalahan, tetapi juga dapat terjadi saat menjalankan skrip secara normal256E_USER_ERRORUKesalahan fatal yang dihasilkan pengguna. Ini seperti E_ERROR yang diatur oleh programmer menggunakan fungsi PHP trigger_error()512E_USER_WARNINGUser-generated Peringatan, tidak fatal. Ini seperti E_WARNING yang diatur oleh programmer menggunakan fungsi PHP trigger_error ()1024E_USER_NOTICEUser-generated-Notice. Ini seperti E_NOTICE yang diatur oleh programmer menggunakan fungsi PHP trigger_error()4096E_RECOVERABLE_ERRORCatchable fatal error. Ini seperti E_ERROR tetapi dapat ditangkap oleh handler yang dibuat oleh user8191E_ALLAll Errors and WarningsContoh membuat kesalahan kustom
function customError($errno, $errstr) {echo "<b>Error:</b> [$errno] $errstr<br>";
echo "Akhir Script";
die();
}
_
Cara mengatur Error Handler
Untuk mengatur Error Handler, gunakan fungsi set_error_handler("Custom Error")
Contoh Skrip Kesalahan Khusus dan Atur Penangan Kesalahan
//membuat fungsi custom error
function customError($errno, $errstr) {
echo "<b>Error:</b> [$errno] $errstr";
}
//mengeset error handler
set_error_handler("customError");
//memicu terjadinya error
echo($test);
?>
Dan berikut adalah tampilan error yang dihasilkan oleh program diatas
Error: [8] Undefined variable: test
_
Menangani Kesalahan dengan sistem Pelaporan melalui Email
Cara ketiga untuk mengatasi kesalahan adalah dengan melaporkan kesalahan tersebut. Dalam hal ini kesalahan akan dikirim melalui email