PHP Error Handling: Menangani Kesalahan Program

Sebaik apa pun kode ditulis, kesalahan tetap bisa terjadi — file tidak ditemukan, koneksi database gagal, atau input tak terduga. PHP Error Handling adalah cara mengelola kesalahan ini agar aplikasi tetap stabil dan pesan error tidak membocorkan informasi sensitif kepada pengguna.

Jenis-jenis Error di PHP

Secara umum ada beberapa tingkat: Notice (pemberitahuan ringan), Warning (peringatan, skrip lanjut), dan Fatal Error (kesalahan serius yang menghentikan skrip). Memahami tingkatnya membantu menentukan cara penanganan.

Menampilkan Error Saat Pengembangan

Saat membangun aplikasi, tampilkan semua error agar mudah menemukan masalah:

<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);
?>

Menyembunyikan Error di Produksi

Di server produksi, error tidak boleh tampil ke pengguna karena bisa membocorkan struktur aplikasi. Sebaliknya, catat ke file log:

<?php
ini_set("display_errors", 0);
ini_set("log_errors", 1);
ini_set("error_log", "/path/ke/error.log");
?>

Mencatat Pesan Sendiri

<?php
if (!$koneksi) {
    error_log("Koneksi database gagal pada " . date("Y-m-d H:i:s"));
}
?>

Membuat Custom Error Handler

Anda bisa mengambil alih penanganan error dengan fungsi sendiri, misalnya untuk menampilkan halaman error yang ramah:

<?php
function tanganiError($no, $pesan, $file, $baris) {
    error_log("Error [$no]: $pesan di $file baris $baris");
    echo "Maaf, terjadi kesalahan. Tim kami sedang menanganinya.";
}
set_error_handler("tanganiError");
?>

Kesalahan Umum

  • Membiarkan display_errors aktif di produksi, membocorkan detail teknis.
  • Mengabaikan error sepenuhnya, sehingga bug sulit dilacak.

Kesimpulan

Dengan PHP Error Handling yang tepat, pengguna melihat pesan yang ramah sementara detail teknis tersimpan aman di log untuk Anda perbaiki. Bedakan pengaturan antara lingkungan pengembangan dan produksi.

Referensi: untuk penjelasan lebih mendalam, kunjungi dokumentasi resmi PHP (php.net).

Baca Juga

Ali Akbar

Software Developer yang fokus mengembangkan aplikasi berbasis Web dan Desktop. Senang mempelajari teknologi baru terutama di bidang web design dan web development.

View all posts by Ali Akbar →

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *