Trong PHP, Error
và Exception
đều là cơ chế để xử lý các sự kiện không mong đợi, nhưng chúng có một số khác biệt quan trọng:
Error:
- Error là một kết quả không mong đợi của chương trình, mà không thể được xử lý bởi chính chương trình đó. Các lỗi thường là do các vấn đề về môi trường mà chương trình đang chạy hoặc do lỗi lập trình không thể khắc phục được trong quá trình chạy
- Trong PHP truyền thống, lỗi thường được báo cáo thông qua cơ chế báo lỗi tiêu chuẩn và không được ném dưới dạng ngoại lệ
- Các lỗi có thể bao gồm các vấn đề như cú pháp sai, truy cập vào biến không xác định, vượt quá bộ nhớ, v.v.
Exception:
- Exception cũng là một kết quả không mong đợi của chương trình, nhưng có thể được xử lý bởi chính chương trình thông qua việc ném và bắt (throwing and catching) các ngoại lệ
- Ngoại lệ thường được sử dụng để xử lý các điều kiện lỗi mà có thể phục hồi được hoặc khi bạn muốn thay đổi luồng thực thi bình thường của chương trình nếu một lỗi cụ thể xảy ra
- Ngoại lệ được sử dụng trong lập trình hướng đối tượng và có thể được mở rộng để tạo các ngoại lệ tùy chỉnh
Sự Khác Biệt Chính: