Hiểu về lỗi trong PHP
Thuộc phần Logic và luồng chương trình trong hành trình PHP của Coddy. Bài học 52 trên 68.
Khi viết code PHP, mọi việc không phải lúc nào cũng diễn ra như dự định. PHP có sẵn một hệ thống để báo cáo các loại vấn đề khác nhau có thể xảy ra trong code của bạn. Hiểu các loại lỗi này giúp bạn xác định điều gì đã xảy ra và vấn đề nghiêm trọng đến mức nào.
Thông báo (notice) là loại lỗi nhẹ nhất. Chúng cho biết có thể có vấn đề nhưng không ngăn tập lệnh của bạn chạy. Code vẫn tiếp tục thực thi, nhưng PHP cảnh báo bạn về điều gì đó có thể gây ra vấn đề sau này. Trong PHP 7, ví dụ kinh điển là sử dụng một biến chưa được định nghĩa; PHP 8 nâng trường hợp đó lên thành cảnh báo, nên ngày nay thông báo ít gặp hơn.
Cảnh báo nghiêm trọng hơn thông báo nhưng vẫn cho phép tập lệnh tiếp tục chạy. Cảnh báo xuất hiện khi PHP gặp vấn đề, chẳng hạn như cố gắng đưa vào một tệp không tồn tại. Tập lệnh vẫn tiếp tục chạy, nhưng thao tác gặp vấn đề sẽ thất bại.
Lỗi nghiêm trọng là loại lỗi nghiêm trọng nhất và khiến tập lệnh của bạn dừng chạy ngay lập tức. Lỗi này xảy ra khi PHP gặp phải điều gì đó không thể khôi phục, chẳng hạn như gọi một hàm không tồn tại hoặc hết bộ nhớ. Khi xảy ra lỗi nghiêm trọng, tập lệnh của bạn sẽ dừng hẳn tại thời điểm đó.
Học cách nhận biết các loại lỗi khác nhau này trong thông báo lỗi của PHP sẽ giúp bạn nhanh chóng hiểu mức độ nghiêm trọng của vấn đề trong code và xử lý phù hợp để khắc phục.
Tự làm thử
Bài học này không có thử thách code.
Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Tất cả bài học trong Logic và luồng chương trình
1Hàm nâng cao
Hàm ẩn danhClosure và 'use'Hàm mũi tênHàm callbackDùng 'call_user_func'Hàm biếnTruyền tham chiếuHàm đệ quyÔn tập: tổng hợp về hàm4Mảng đa chiều
Tạo mảng 2 chiềuTruy cập phần tử trong mảng 2 chiềuChỉnh sửa phần tử trong mảng 2 chiềuLặp qua các vòng lặp lồng nhauMảng kết hợp 2 chiềuÔn tập: bài tập lưới đơn giản2Thao tác nâng cao với mảng
Thêm phần tử bằng 'array_push'Xóa phần tử bằng 'array_pop'Thêm phần tử vào đầu mảng bằng 'array_unshift'Xóa phần tử đầu mảng bằng 'array_shift'Gộp các mảng được đánh chỉ sốGộp các mảng kết hợpTrích xuất phần tử bằng 'array_slice'Kiểm tra giá trị bằng 'in_array'Tìm khóa bằng 'array_search'Ôn tập: bài tập về danh sách phát5Sổ điểm học sinh
Thiết lập dự án: cấu trúc dữ liệuThêm học sinh mớiThêm điểm cho học sinhTính điểm trung bình của học sinhTìm học sinh có điểm cao nhấtTạo bảng điểm8Xử lý lỗi và ngoại lệ
Hiểu về lỗi trong PHPKhối try...catchKhối finallyNém ngoại lệTạo ngoại lệ tùy chỉnhSử dụng ngoại lệ tùy chỉnhÔn tập: Xác thực đầu vào3Sắp xếp mảng
Sắp xếp mảng có chỉ số tăng dầnSắp xếp mảng có chỉ số giảm dầnSắp xếp mảng kết hợp theo giá trịSắp xếp mảng kết hợp theo khóaSắp xếp theo thứ tự tự nhiênSắp xếp tùy chỉnh bằng 'usort'Ôn tập: Sắp xếp bảng xếp hạngTự luyện tập: Trình biên dịch PHP online