BAB 14: Error Handling PHP – Menangani dan Mendeteksi Masalah Kode

BAB 14: Error Handling PHP – Menangani dan Mendeteksi Masalah Kode

Error handling penting untuk memastikan aplikasi PHP tetap berjalan dengan aman meski terjadi masalah. Dengan penanganan yang baik, aplikasi lebih stabil dan mudah di-debug.


Jenis Error

PHP memiliki beberapa jenis error:

JenisDeskripsi
NoticePeringatan minor, misal variabel belum didefinisikan. Tidak menghentikan skrip.
WarningKesalahan yang lebih serius, misal file tidak ditemukan. Skrip tetap berjalan.
Fatal ErrorKesalahan kritis, misal pemanggilan fungsi yang tidak ada. Skrip berhenti.

Menangani Error dengan try-catch (Exception)

PHP menyediakan mekanisme exception untuk menangani error secara terkontrol.

<?php
try {
    $hasil = 10 / 0; // Membagi dengan nol akan menimbulkan error
    echo $hasil;
} catch (Exception $e) {
    echo "Terjadi error: " . $e->getMessage();
}
?>
  • try → blok kode yang berpotensi error
  • catch → menangani error dan mengambil pesan error
  • $e->getMessage() → menampilkan pesan error

Membuat Exception Sendiri

<?php
function cekUmur($umur) {
    if($umur < 18) {
        throw new Exception("Umur harus 18 ke atas!");
    }
    return true;
}

try {
    cekUmur(15);
} catch(Exception $e) {
    echo $e->getMessage(); // Output: Umur harus 18 ke atas!
}
?>

Fungsi Debugging

PHP menyediakan beberapa fungsi untuk memeriksa isi variabel dan mendeteksi error:

1. var_dump()

Menampilkan tipe data dan isi variabel.

<?php
$angka = 10;
var_dump($angka); // Output: int(10)
?>

2. print_r()

Menampilkan isi array atau objek dengan format yang lebih mudah dibaca.

<?php
$buah = ["Apel", "Pisang", "Jeruk"];
print_r($buah);
?>

3. error_log()

Mencatat pesan error ke log server.

<?php
error_log("Terjadi error di halaman index.php");
?>

Debugging yang baik membantu Anda menemukan masalah lebih cepat dan mencegah error merusak aplikasi.


Dengan memahami error handling dan debugging, Anda bisa membuat aplikasi PHP yang lebih stabil, aman, dan mudah diperbaiki saat terjadi kesalahan.