Vũ Thành Lâm

Cách xử lý lỗi trong PHP

5/5 - (5 bình chọn)

Xử lý lỗi là quá trình bắt lỗi do chương trình của bạn gây ra và sau đó thực hiện hành động thích hợp. Nếu bạn sẽ xử lý lỗi không đúng thì nó có thể dẫn đến nhiều hậu quả không lường trước được. Trong PHP rất đơn giản để xử lý một lỗi. Một thông báo lỗi với tên tệp, số dòng và thông báo mô tả lỗi được gửi đến trình duyệt. Trong bài viết này, chúng ta cùng nhau tìm hiểu cách xử lý lỗi trong PHP.

Xem thêm:

Lập trình PHP cơ bản

Lập trình Web với ngôn ngữ PHP

Contents

Xử lý lỗi trong PHP

Khi tạo các kịch bản và các ứng dụng web, xử lý lỗi là một phần rất quan trọng.

Nếu mã của bạn thiếu các đoạn mã kiểm tra lỗi, chương trình của bạn rất thiếu chuyên nghiệp và có thể bạn đang đối mặt với các nguy cơ về bảo mật. Bài viết này bao gồm một số phương pháp kiểm tra lỗi phổ biến nhất trong PHP.

– Hàm xử lý lỗi die()

– Lỗi tùy chỉnh và trình kích hoạt lỗi.

– Thông báo lỗi.

Xử lý lỗi cơ bản: Sử dụng hàm die()

Ví dụ dưới đây là câu lệnh mở một tập tin văn bản:

Nếu tập tin không tồn tại bạn sẽ nhận được một lỗi như sau:

Để không nhận được thông báo lỗi như trên, chúng ta kiểm tra liệu tệp có tồn tại hay không trước khi mở:

Bây giờ nếu tập tin không tồn tại bạn sẽ nhận được một lỗi như sau:

Đoạn mã ở trên hiệu quả hơn đoạn mã trước bởi vì nó sử dụng cơ chế xử lý lỗi để dừng tập lệnh nếu có lỗi. Tuy nhiên, chỉ dừng lại chương trình không phải luôn là cách xử lý đúng. Chúng ta hãy xem các hàm PHP thay thế để xử lý lỗi.

Tạo một trình xử lý lỗi tuỳ chỉnh

Tạo ra một trình xử lý lỗi tuỳ chỉnh là khá đơn giản. Chúng ta chỉ đơn giản là tạo ra một hàm đặc biệt được gọi khi một lỗi xảy ra trong PHP.

Hàm xử lý lỗi phải có tối thiểu hai tham số (mức lỗi và thông báo lỗi), nhưng có thể chấp nhận tối đa năm tham số (tham số tùy chọn: tệp tin, số dòng, và ngữ cảnh lỗi):

Cú pháp:

error_function(error_level,error_message,
error_file,error_line,error_context)

– error_level: Cần thiết. Xác định mức báo cáo lỗi cho lỗi do người dùng xác định. Phải là một giá trị số.

– error_message: Cần thiết. Xác định thông báo lỗi cho lỗi do người dùng xác định.

– error_file: Không bắt buộc. Xác định tên tập tin xảy ra lỗi.

– error_line: Không bắt buộc. Xác định số dòng xảy ra lỗi.

– error_context: Không bắt buộc. Xác định một mảng chứa mọi biến, và các giá trị của chúng, được sử dụng khi lỗi xảy ra.

Mức báo cáo lỗi

Các mức báo cáo lỗi là các loại lỗi khác nhau mà người xử lý lỗi do người dùng xác định có thể được sử dụng cho:

Dưới đây là ví dụ về hàm xử lý lỗi:

Đoạn mã trên là một hàm xử lý lỗi. Khi nó được kích hoạt, nó sẽ nhận được mức lỗi và thông báo lỗi. Bây giờ chúng ta đã tạo ra một hàm xử lý lỗi chúng ta cần phải quyết định khi nào nó nên được kích hoạt.

Thiết lập trình xử lý lỗi

Trình xử lý lỗi mặc định cho PHP được xây dựng trong trình xử lý lỗi. Chúng ta sẽ tạo ra các hàm trên trình xử lý lỗi mặc định trong suốt thời gian của kịch bản. Có thể thay đổi trình xử lý lỗi để chỉ áp dụng cho một số lỗi. Theo cách đó, có thể xử lý các lỗi khác nhau bằng nhiều cách khác nhau. Tuy nhiên, trong ví dụ này, chúng ta sẽ sử dụng trình xử lý lỗi tuỳ chỉnh cho tất cả các lỗi:

set_error_handler() chỉ cần một tham số, một tham số thứ hai có thể được thêm vào để xác định mức độ lỗi.

Đoạn mã trên sẽ hiển thị ra như sau:

Xem thêm:

Dịch vụ thiết kế Website

Dịch vụ quản lý Website

Exit mobile version