Lỗi được xử lý trong php như thế nào?

Chúng tôi hy vọng cách xử lý lỗi và ngoại lệ này trong các ví dụ về khung công tác PHP đã giúp bạn nắm vững những gì bạn cần làm khi xử lý các khía cạnh này một cách hiệu quả. Để biết thêm thông tin, hãy liên hệ với các chuyên gia của chúng tôi tại SJ Innovation

Xử lý ngoại lệ là một cơ chế mạnh mẽ của PHP, được sử dụng để xử lý lỗi thời gian chạy (lỗi thời gian chạy được gọi là ngoại lệ). Vì vậy, dòng chảy bình thường của ứng dụng có thể được duy trì

Mục đích chính của việc sử dụng xử lý ngoại lệ là để duy trì hoạt động bình thường của ứng dụng

Ngoại lệ là gì?

Một ngoại lệ là một kết quả không bị loại trừ của một chương trình, có thể được xử lý bởi chính chương trình đó. Về cơ bản, một ngoại lệ làm gián đoạn luồng bình thường của chương trình. Nhưng nó khác với lỗi vì ngoại lệ có thể xử lý được, còn lỗi thì chương trình không tự xử lý được

Nói cách khác, - "Một kết quả không mong muốn của chương trình là một ngoại lệ, có thể được xử lý bởi chính chương trình. " Ngoại lệ có thể được ném và bắt trong PHP

Tại sao cần Xử lý ngoại lệ?

PHP cung cấp một cơ chế xử lý ngoại lệ mạnh mẽ. Nó cho phép bạn xử lý các lỗi thời gian chạy như IOException, SQLException, ClassNotFoundException, v.v. Một ví dụ phổ biến nhất về xử lý ngoại lệ là - chia cho ngoại lệ bằng 0, đây là một ngoại lệ số học

Ghi chú. Xử lý ngoại lệ là cần thiết khi một ngoại lệ làm gián đoạn quá trình thực thi bình thường của chương trình hoặc ứng dụng

Xử lý ngoại lệ gần như giống nhau trong tất cả các ngôn ngữ lập trình. Nó thay đổi luồng bình thường của chương trình khi xảy ra một điều kiện lỗi cụ thể và điều kiện này được gọi là ngoại lệ. PHP cung cấp các từ khóa sau cho mục đích này

cố gắng -

Khối thử chứa mã có thể có ngoại lệ hoặc nơi có thể phát sinh ngoại lệ. Khi một ngoại lệ xảy ra bên trong khối thử trong thời gian chạy mã, nó sẽ bị bắt và giải quyết trong khối bắt. Khối thử phải được theo sau bởi khối bắt hoặc khối cuối cùng. Một khối thử có thể được theo sau bởi một khối tối thiểu và tối đa bất kỳ số lượng khối bắt nào

bắt lấy -

Khối catch chứa mã thực thi khi ném một ngoại lệ cụ thể. Nó luôn được sử dụng với một khối thử, không dùng một mình. Khi một ngoại lệ xảy ra, PHP sẽ tìm khối bắt phù hợp

ném -

Nó là một từ khóa được sử dụng để ném một ngoại lệ. Nó cũng giúp liệt kê tất cả các ngoại lệ mà hàm ném ra nhưng không tự xử lý

Hãy nhớ rằng mỗi lần ném phải có ít nhất một lần "bắt"

cuối cùng -

Khối cuối cùng chứa mã, được sử dụng cho hoạt động dọn dẹp trong PHP. Về cơ bản, nó thực thi mã thiết yếu của chương trình

Điều gì xảy ra khi một ngoại lệ được kích hoạt -

  • Trạng thái hiện tại của mã được lưu
  • Việc thực thi mã được chuyển sang chức năng xử lý ngoại lệ được xác định trước
  • Tùy thuộc vào tình huống, trình xử lý có thể tạm dừng thực thi chương trình, tiếp tục thực thi từ trạng thái mã đã lưu hoặc tiếp tục thực thi mã từ một vị trí khác trong mã

Ưu điểm của Xử lý ngoại lệ so với Xử lý lỗi

Xử lý ngoại lệ là một cơ chế quan trọng trong PHP, có những ưu điểm sau so với xử lý lỗi -

Nhóm các loại lỗi -

Trong PHP, cả đối tượng cơ bản và đối tượng đều có thể được coi là ngoại lệ. Nó có thể tạo một hệ thống phân cấp các đối tượng ngoại lệ và nhóm các ngoại lệ trong các lớp và cũng có thể phân loại chúng theo loại của chúng

Giữ riêng việc xử lý lỗi và mã bình thường -

Trong xử lý lỗi truyền thống, khối if-else được sử dụng để xử lý lỗi. Nó làm cho mã không thể đọc được vì mã xử lý lỗi và điều kiện bị trộn lẫn. Trong khối try-catch, ngoại lệ tách biệt với mã và mã có thể đọc được

ví dụ

Tìm hiểu với sự trợ giúp của các ví dụ về cách xử lý ngoại lệ hoạt động trong PHP-

ví dụ 1

Hãy lấy một ví dụ để giải thích quy trình phổ biến của khối ném và thử bắt

đầu ra

Exception Message: Value must be less than 1

ví dụ 2. Tạo ngoại lệ tùy chỉnh

Bạn có thể tạo ngoại lệ do người dùng định nghĩa bằng cách mở rộng lớp Ngoại lệ. Xem mã bên dưới để tìm hiểu cách tạo ngoại lệ do người dùng xác định -

Một Lỗi được cho là đã xảy ra khi một đoạn mã trả về kết quả không mong muốn hoặc dừng đột ngột do một số mã không chính xác, ví dụ như chia cho 0 hoặc vòng lặp vô hạn, v.v.

Trong PHP, chúng ta có thể thiết lập cấu hình PHP để hiển thị hoặc ẩn thông báo lỗi trên trình duyệt

PHP cung cấp nhiều cách để xử lý lỗi,

  1. Xử lý lỗi trong mã bằng câu lệnh điều kiện hoặc hàm die()
  2. Sử dụng Trình xử lý lỗi tùy chỉnh
  3. Báo cáo lỗi PHP

Hãy bao gồm từng người trong số họ với các ví dụ


Sử dụng chức năng die()

Hàm die() trong PHP được sử dụng để hiển thị bất kỳ thông báo nào và thoát khỏi tập lệnh hiện tại cùng một lúc. Do đó, khi một điều kiện lỗi được phát hiện, hàm die() có thể được sử dụng để thoát khỏi quá trình thực thi mã

Có thể xảy ra lỗi khi chúng ta cố gắng chia một số cho 0 hoặc cố mở một tệp không tồn tại, hãy lấy một ví dụ và xem cách chúng ta có thể sử dụng hàm die() hoặc câu lệnh điều kiện để xử lý các điều kiện lỗi

Đoạn code trên chúng ta sẽ nhận được thông báo Unable to open file noerror. txt trên màn hình, nếu không có tệp nào có tên noerror. txt tại vị trí đã cho

Hàm die() là bí danh của hàm

1 cũng được sử dụng để thoát khỏi quá trình thực thi mã

Bây giờ hãy xem cách chúng ta có thể sử dụng các câu điều kiện để xử lý các điều kiện lỗi. Kiểu xử lý lỗi này rất hữu ích khi chúng ta biết trước các tình huống có thể dẫn đến lỗi

Ví dụ, mã dưới đây sẽ dẫn đến lỗi

Cảnh báo. Chia cho số không

Trong tình huống như vậy, khi chúng ta biết điều kiện nào đó có thể dẫn đến lỗi, chúng ta có thể sử dụng câu lệnh điều kiện để xử lý trường hợp góc sẽ dẫn đến lỗi. Hãy sửa đoạn mã trên

Chia cho số không (0) không được phép

Như bạn có thể thấy trong đoạn mã trên, tình trạng lỗi được xử lý. Bây giờ mã của chúng tôi sẽ không hiển thị bất kỳ lỗi nào trên màn hình, thay vào đó, nó sẽ hiển thị một thông báo và thoát một cách duyên dáng


Sử dụng Trình xử lý lỗi tùy chỉnh

Trong PHP, chúng ta có thể sử dụng phương thức tùy chỉnh của mình để hiển thị bất kỳ thông báo nào hoặc thực thi bất kỳ mã nào khi xảy ra lỗi. Tất cả những gì chúng ta phải làm là đặt phương thức của mình làm trình xử lý lỗi mặc định cho PHP bằng cách sử dụng hàm

2

Hãy lấy một ví dụ

Ối. Một cái gì đó bất ngờ xảy ra. Lý do có thể. Chia cho số 0 Chúng tôi đang nghiên cứu nó

Chúng ta có thể định nghĩa hàm riêng của mình giống như chúng ta đã làm ở trên với các đối số

3 và 
4 và có thể xử lý chúng theo ý muốn. Chúng tôi có thể hiển thị thông báo tùy chỉnh, đăng nhập lỗi trong cơ sở dữ liệu, gửi email cho nhà phát triển báo cáo lỗi, v.v.


Báo cáo lỗi PHP

PHP cung cấp cơ chế báo cáo lỗi mặc định có thể được sử dụng để hiển thị thông báo trên màn hình khi xảy ra lỗi

Xử lý lỗi được thực hiện để xử lý các lỗi trong mã một cách duyên dáng và cung cấp trải nghiệm người dùng tốt hơn cho người dùng cuối

Chúng ta có thể sử dụng hàm PHP

5 để đặt lỗi nào sẽ hiển thị và lỗi nào sẽ ẩn

Sau đây là cú pháp cho chức năng này

Giá trị cho biến

6 xác định lỗi nào sẽ hiển thị và lỗi nào cần ẩn, nếu chúng tôi không cung cấp bất kỳ giá trị nào cho nó, báo cáo lỗi sẽ được đặt thành mặc định

Sau đây là các giá trị mà chúng tôi có thể cung cấp để đặt các mức lỗi khác nhau

Cấp độ báo cáoMô tảE_WARNINGChỉ hiển thị các thông báo cảnh báo và không dừng việc thực thi tập lệnh. E_NOTICEHiển thị thông báo xảy ra trong quá trình thực thi mã bình thường. E_USER_ERRORHiển thị lỗi do người dùng tạo i. e trình xử lý lỗi tùy chỉnh. E_USER_WARNINGHiển thị thông báo cảnh báo do người dùng tạo. E_USER_NOTICEHiển thị thông báo do người dùng tạo. E_RECOVERABLE_ERRORHiển thị các lỗi không nghiêm trọng. E_ALLHiển thị tất cả lỗi và cảnh báo

Điều này đưa chúng ta đến kết luận về xử lý lỗi trong PHP. Trong hướng dẫn tiếp theo, chúng ta sẽ tìm hiểu về Xử lý ngoại lệ