Chào mừng bạn đến với Lamvt Group

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

Cách xử lý lỗi trong PHP
5 (100%) 4 votes

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

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

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:

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

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

Cách xử lý lỗi trong PHP error-notification

Để 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ở:

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

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:

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

Đ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:

Cách xử lý lỗi trong PHP error_level-1024x424

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

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

Đ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:

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

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.

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

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

Cách xử lý lỗi trong PHP error_output-1024x53

Xem thêm:

Dịch vụ thiết kế Website

Dịch vụ quản lý Website

Bài Viết Liên Quan

Lê Đức Thọ

- Họ tên: Lê Đức Thọ - Quê quán: Song Phương, Hoài Đức, Hà Nội. - SĐT: 0982 995 195 - Email: ductho2495@gmail.com - Facebook: https://www.facebook.com/ductho95 - Website: http://thold.net

liên hệ

Phone

0169 981 5232

Address

Số 25, Phú Thứ - Tây Mỗ, Nam Từ Liêm, Hà Nội

Email

Lamvt19792003@gmail.com

Copyright © 2017 by Lamvt Group. All right reserved.