Penggunaan fungsi ERRNO pada PHP

Penggunaan fungsi ERRNO pada PHP

Table of Contents

  • Menangani Error pada PHP dengan fungsi die()
  • Menangani error dengan Custom Error Handler dan Trigger Error
  • Menangani Error dengan sistem Reporting melalui Email
  • Bagaimana cara penanganan error pada PHP?
  • Apa itu penanganan error?
  • Kesalahan error terjadi ketika PHP mengerti kode yang telah ditulis Namun apa yang diminta oleh kode tidak dapat dilakukan ini disebut dengan?
  • Dibawah ini adalah langkah langkah untuk menampilkan pesan error di php?

Dalam pemrograman PHP sering dijumpai error karena ada kesalahan pada salah satu proses. Kesalahan ini bisa dikarenakan suatu komponen yang dibutuhkan program tidak ada atau karena syarat yang diminta program tidak terpenuhi. Seperti misalnya sebuah programm untuk membuka file namun file yang dimaksud ternyata tidak ada maka otomatis browser akan menampilkan error.

Jika tampil pesan error pada browser, program yang kita buat akan terlihat tidak profesional dan juga memungkinkan celah yang membahayakan bagi keamanan program itu sendiri. Untuk itu perlu dibuat sebuah penanganan error yang menghentikan program dan kemudian menampilkan pesan error sesuai kondisi yang terjadi.

Contoh script PHP yang memungkinkan terjadi error

$file=fopen("coba.txt","r");  
?>

Dan berikut 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

Menangani Error pada PHP dengan fungsi die()

Dalam PHP ada beberapa cara untuk menangani error, salah satunya yang paling simpel adalah menggunakan fungsi die(). Caranya adalah dengan menyeleksi kondisi lalu jika tidak terpenuhi kita taruh fungsi die(). Jika fungsi die() dieksekusi maka program akan berhenti dan script program dibawahnya tidak akan dijalankan.

Contoh penggunaan fungsi die()

if(!file_exists("coba.txt")) {  
die("File tidak ditemukan");
} else {
$file=fopen("coba.txt","r");
}
while(! feof($file))
{
echo fgets($file). "
";
}
fclose($file);
?>

Penjelasan script:

Contoh diatas merupakan program untuk membuka file cobe.txt (baris ke-5) dan menampilkan file baris demi baris sampai akhir file (baris ke-7 sampai baris ke-10). Pada baris ke-2 dibuat penyeleksian untk mengecek keberadaan file dengan fungsi file_exist().

Fungsi die ditaruh pada kondisi jika fungsi file_exist() membalikkan nilai FALSE karena file tidak ada. Dengan fungsi die() maka eksekusi script akan dihentikan dan kode program dibawahnya (baris ke-7 sampai akhir) tidak dijalankan. Dengan demikian kita tidak terlalu dipusingkan dengan banyak logika penyeleksian setelahnya.

Menangani error dengan Custom Error Handler dan Trigger Error

Cara kedua untuk menangani error pada PHP adalah dengan membuat fungsi Custom Error lalu membuat Handler untuk menanganinya.

Cara membuat Custom Error

Untuk membuat custom error digunakan aturan penulisan berikut ini :

error_function(error_level,error_message,
error_file,error_line,error_context)

Keterangan parameter :

  • error_level, wajib diisi. Merupakan level error untuk mendefinisikan error pada pengguna. Harus berupa nomor yang mengacu pada tabel error dibawah.
  • error_message, wajib diisi. Merupakan pesan error untuk mendefinisikan error pada pengguna
  • error_file, opsional. Merupakan nama file yang memunculkan error.
  • error_line, opsional. Merupakan nomor baris yang memunculkan error.
  • error_context, opsional. Merupakan array yang berisi semua variabel dan error yang dihasilkan pada saat error itu muncul.

Tabel Error Report Level

Nilai Konstan Keterangan
2 E_WARNING Run-time error, tidak fatal. Pelaksanaan script tidak dihentikan
8 E_NOTICE Run-time pemberitahuan. Script menemukan sesuatu yang mungkin error, tetapi juga bisa terjadi saat menjalankan script secara normal
256 E_USER_ERROR User-generated Fatal error. Ini seperti E_ERROR yang ditetapkan oleh programmer menggunakan fungsi PHP trigger_error ()
512 E_USER_WARNING User-generated Warning, tidak fatal. Ini adalah seperti E_WARNING ditetapkan oleh programmer menggunakan fungsi PHP trigger_error ()
1024 E_USER_NOTICE User-generated-Notice. Ini seperti E_NOTICE ditetapkan oleh programmer menggunakan fungsi PHP trigger_error ()
4096 E_RECOVERABLE_ERROR Catchable fatal error.  Ini seperti E_ERROR tetapi bisa ditangkap handler yang dibuat pengguna
8191 E_ALL Semua Error dan Warning

Contoh Membuat Custom Error :

function customError($errno, $errstr) {  
echo "Error: [$errno] $errstr
";
echo "Akhir Script";
die();
}

Cara mengeset Error Handler

Untuk mengeset Error Handler digunakan fungsi set_error_handler(“Custom Error”).
Contoh Script Custom Error dan Set Error Handler

//membuat fungsi custom error  
function customError($errno, $errstr) {
echo "Error: [$errno] $errstr";
}

//mengeset error handler
set_error_handler("customError");

//memicu terjadinya error
echo($test);
?>

Dan berikut tampilan error yang dihasilkan oleh program diatas :

Error: [8] Undefined variable: test

Menangani Error dengan sistem Reporting melalui Email

Cara ketiga dalam menangani error adalah dengan melaporkan error tersebut. Dalam hal ini error akan dikirimkan melalui email.

Contoh script membuat error reporting melalui email:

//membuat custom error  
function customError($errno, $errstr) {
echo "Error: [$errno] $errstr
";
echo "Webmaster telah diberi tahu";
error_log("Error: [$errno] $errstr",1,
"","From: ");
}

//mengeset error handler
set_error_handler("customError",E_USER_WARNING);

//memicu terjadinya error
$test=2;
if ($test>1) {
trigger_error("Angka harus 1 atau lebih kecil",E_USER_WARNING);
}
?>

Tampilan pada browser

Error: [512] Angka harus 1 atau lebih kecil
Webmaster telah diberi tahu

Tampilan pesan yang diterima email

Error: [512] Angka harus 1 atau lebih kecil

Referensi:

  • http://www.w3schools.com/php/php_error.asp

Bagaimana cara penanganan error pada PHP?

Di antara cara penanganan error yang bisa kita lakukan adalah: Menggunakan fungsi die() Memusatkan penanganan error pada satu fungsi khusus. Menggunakan exception.

Apa itu penanganan error?

Error Handling/Recovery adalah satu penanganan kesalahan (eror) pada berbagai macam keadaan dalam pemrograman. Setiap ada kesalahan, maka eksekusi program tidak akan dihentikan secara tiba tiba, tetapi akan diteruskan ke baris program yang terdapat script penanganan kesalahan.

Kesalahan error terjadi ketika PHP mengerti kode yang telah ditulis Namun apa yang diminta oleh kode tidak dapat dilakukan ini disebut dengan?

Fatal error terjadi ketika PHP mengerti kode yang telah ditulis, namun apa yang diminta oleh kode tidak dapat dilakukan. Fatal error akan menghentikan eksekusi script. Jika Kamu mencoba untuk mengakses fungsi yang belum didefinisikan, maka outputnya adalah fatal error.

Dibawah ini adalah langkah langkah untuk menampilkan pesan error di 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..

Bagaimana cara penanganan error pada PHP?

Di antara cara penanganan error yang bisa kita lakukan adalah: Menggunakan fungsi die() Memusatkan penanganan error pada satu fungsi khusus. Menggunakan exception.

Apa saja jenis error yang harus diketahui pada PHP?

Paling tidak ada 4 jenis tipe galat (error) pada PHP, diantaranya adalah sebagai berikut :.
Parse Error (Syntax Error).
Fatal Error..
Warning Error..
Notice Error..

Apa itu penanganan error?

Error Handling/Recovery adalah satu penanganan kesalahan (eror) pada berbagai macam keadaan dalam pemrograman. Setiap ada kesalahan, maka eksekusi program tidak akan dihentikan secara tiba tiba, tetapi akan diteruskan ke baris program yang terdapat script penanganan kesalahan.

Dibawah ini adalah langkah langkah untuk menampilkan pesan error di 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..