Các loại lỗi (error) trong PHP

Đây là bài 25/53 bài của series môn học Lập trình Web PHP

Trong bài này, chúng ta sẽ tìm hiểu về các loại lỗi (error) trong PHP. Để học tốt bài này, các bạn cần đọc lại bài Cài đặt môi trường lập trình Web PHP với XAMPP để biết cách chạy ứng dụng web PHP với XAMPP.

Lỗi (error) là các vấn đề hoặc tình trạng bất thường, ảnh hưởng nghiêm trọng đến chương trình. Khi xảy ra lỗi, chương trình thường sẽ ngừng thực thi. Có 4 loại lỗi cơ bản trong PHP là:

    • Parse error hoặc Syntax error
    • Fatal error
    • Warning error
    • Notice error

1. Syntax error trong PHP

Syntax error hoặc Parse error còn gọi là lỗi cú pháp. Lỗi này xảy ra là do chúng ta không tuân thủ cú pháp của PHP khi soạn thảo chương trình. Các syntax error thường mắc phải như lỗi thiếu hoặc thừa dấu ngoặc, thiếu dấu chấm phẩy,… Lỗi cú pháp được phát hiện bởi trình thông dịch PHP (PHP interpreter).

Ví dụ lỗi cú pháp trong PHP

<?php
$x = "gochocit.com"
echo $x;
?>

Trong ví dụ trên, câu lệnh gán giá trị cho biến $x thiếu dấu chấm phẩy ; nên gây ra lỗi cú pháp. Bên dưới là một số ví dụ syntax error khác.

<?php
// thiếu dấu $ khi tạo biến
x = "gochocit.com"
$y = false;
// thiếu dấu ngoặc ) của if
if($x > 1{
  $y = true;
}
?>

2. Fatal error trong PHP

Fatal error xảy ra khi chúng ta gọi một hàm chưa được định nghĩa. Ví dụ:

<?php
function add($x, $y){
    $sum = $x + $y;
    echo "sum = " . $sum;
}
$x = 0;
$y = 20;
add($x, $y);
// fatal error: hàm diff chưa được định nghĩa
diff($x, $y);
?>
Kết quả
sum = 20
Fatal error: Uncaught Error: Call to undefined function diff()

3. Warning error trong PHP

Warning error là một cảnh báo và không dừng thực thi chương trình. Warning error thường xảy ra khi include hoặc require một file không tồn tại. Ví dụ:

<?php
$x = "Hello all!";
include ("gochocit.php");
echo $x;
?>
Kết quả
Warning: include(gochocit.php): Failed to open stream: No such file or directory in C:\xampp\htdocs\gochocit\index.php on line 3
Hello all!

4. Notice error trong PHP

Notice error tương tự như Warning error. Notice error thông báo chương trình có một vấn đề nào đó nhưng vẫn cho phép thực thi script PHP.

<?php 
$x = "gochocit.com";
echo $x;
// notice error hoặc warning error: chưa khai báo biến y
// mà đã truy xuất biến y
echo $y;
?>

5. Error constants trong PHP

Bên dưới là những error constant được định nghĩa sẵn trong PHP.

Giá trịHằngÝ nghĩa
1E_ERRORMột fatal error sẽ làm dừng chương trình
2E_WARNINGNhững warning sẽ không làm dừng chương trình
4E_PARSELỗi khi phân tích cú pháp
8E_NOTICENotice error và chương trình có thể chạy bình thường
16E_CORE_ERRORFatal error xảy ra khi PHP mới khởi chạy. Lỗi này liên quan đến core PHP
32E_CORE_WARNINGGiống E_WARNING nhưng liên quan đến core PHP
64E_COMPILE_ERRORGiống E_ERROR nhưng được tạo ra bởi Zend Scripting Engine
128E_COMPILE_WARNINGGiống E_WARNING nhưng được tạo ra bởi Zend Scripting Engine
32767E_ALLTất cả PHP errors và warnings

Mỗi error trong PHP được đánh một giá trị (value) lỗi. Nó giống như mã lỗi, giúp dễ dàng xác định lỗi đang xảy ra là lỗi gì.

Ngoài những error constant ở trên, PHP còn nhiều error constant khác. Các bạn có thể tham khảo thêm ở Errors and Logging Constants.

5/5 - (1 bình chọn)
Bài trước và bài sau trong môn học<< Các hàm sắp xếp (sort) mảng trong PHPCách xử lý lỗi (error) trong PHP >>
Chia sẻ trên mạng xã hội:

Trả lời

Lưu ý:

1) Vui lòng bình luận bằng tiếng Việt có dấu.

2) Khuyến khích sử dụng tên thật và địa chỉ email chính xác.

3) Mọi bình luận trái quy định sẽ bị xóa bỏ.