Xử lý ngoại lệ hướng đối tượng trong PHP

Trong hướng dẫn trước, chúng tôi đã đề cập đến việc xử lý lỗi. Bây giờ câu hỏi đặt ra, sự khác biệt giữa Ngoại lệ và Lỗi là gì

Với PHP 5, một cách xử lý lỗi hướng đối tượng mới đã được giới thiệu, được gọi là Ngoại lệ

Xử lý ngoại lệ được sử dụng để xử lý lỗi và chuyển hướng quá trình thực thi mã khi nó xảy ra, không giống như lỗi khi quá trình thực thi mã dừng lại với thông báo lỗi hiển thị trên màn hình

Sử dụng khối try và catch

Mã có thể dẫn đến ngoại lệ hoặc lỗi được đặt trong khối try, nếu không có ngoại lệ xảy ra thì mã được thực thi bình thường trong trường hợp có ngoại lệ, việc thực thi mã sẽ thoát khỏi khối try và đi vào khối catch

Sau đây là cú pháp sử dụng try và catch để xử lý ngoại lệ,

2 Ngoại lệ

Chúng tôi có thể kích hoạt ngoại lệ theo cách thủ công nếu được yêu cầu bằng cách sử dụng từ khóa 2. 4 là một lớp PHP là lớp cha cho tất cả các lớp ngoại lệ trong PHP

Để ném một ngoại lệ, chúng ta phải tạo một đối tượng của lớp ngoại lệ và sau đó sử dụng từ khóa 2 để kích hoạt ngoại lệ đó

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

Nếu chúng ta gọi hàm trên là 6 thì nó sẽ ném ra ngoại lệ

Bây giờ chúng ta có thể gọi hàm này từ bên trong khối try và xử lý ngoại lệ trong khối 8, như thế này

Ối. Đã xảy ra một số lỗi không mong muốn

Bên trong khối catch, chúng ta cũng có thể nhận được thông báo từ đối tượng ngoại lệ bằng cách sử dụng phương thức 0

Lớp ngoại lệ tùy chỉnh

Chúng ta có thể tạo lớp ngoại lệ tùy chỉnh bằng cách mở rộng lớp 4 do PHP cung cấp

Dưới đây chúng tôi có một ví dụ cho lớp ngoại lệ tùy chỉnh

Các lớp ngoại lệ tùy chỉnh rất hữu ích khi bạn có yêu cầu xử lý lỗi tùy chỉnh, ví dụ: lỗi ghi nhật ký trong cơ sở dữ liệu, v.v.

Xử lý nhiều ngoại lệ

Nếu một đoạn mã có thể đưa ra các loại ngoại lệ khác nhau và dựa trên loại ngoại lệ mà chúng tôi phải thực hiện một số hành động, thì trong tình huống như vậy, chúng tôi có thể có nhiều khối catch

Một vài điểm quan trọng cần nhớ khi xử lý nhiều ngoại lệ bằng cách sử dụng nhiều khối catch

Thông báo lỗi cú pháp trong PHP có thể so sánh với lỗi cú pháp trong các ngôn ngữ khác. Bất cứ ai có kiến ​​​​thức về ngôn ngữ này sẽ có thể theo dõi và sửa lỗi này

Mẹo. Tìm lỗi ứng dụng và các vấn đề về hiệu suất ngay lập tức với Stackify Retrace

Khắc phục sự cố và tối ưu hóa mã của bạn thật dễ dàng với các lỗi tích hợp, nhật ký và thông tin chi tiết về hiệu suất cấp mã

[email protected]"); // will log an error to a specified file error_log("This is a sample error.", 3, "my-errors.log");

Hàm error_log cho phép nhà phát triển ghi nhật ký lỗi trong nhật ký lỗi mặc định của máy chủ web, gửi nhật ký lỗi tới email hoặc ghi nhật ký lỗi vào một tệp được chỉ định

$divisor = 0; if ($divisor == 0) { trigger_error("Division of zero not allowed!", E_USER_ERROR); } Fatal error: Division of zero not allowed! in C:\xampp\htdocs\monolog-test\test-error.php on line 5

Điều này sẽ tạo ra lỗi do người dùng xác định, thông báo, cảnh báo, v.v. Hàm PHP này cho phép các nhà phát triển tạo một phản hồi được chỉ định khi chạy

Xử lý lỗi khung công tác PHP khác

Trong các khung công tác PHP khác, việc xử lý lỗi dễ dàng hơn rất nhiều và hầu hết chúng chỉ là vấn đề chỉnh sửa tệp cấu hình. Trong Laravel, lớp App\Exceptions\Handler xử lý tất cả các ngoại lệ được kích hoạt và ghi nhật ký bởi một ứng dụng web. Lớp Handler trong Laravel có 2 phương thức là report và render. Phương thức báo cáo được sử dụng để gửi ngoại lệ cho một dịch vụ bên ngoài. Báo cáo này phù hợp để ghi nhật ký lỗi mà không hiển thị trên trang web. Phương thức kết xuất sẽ chuyển đổi một ngoại lệ thành phản hồi HTTP cần được gửi lại cho trình duyệt

abort(500); abort(403, 'You are not allowed to enter!');

Loại bỏ các ngoại lệ HTTP có thể dễ dàng được thực hiện trong Laravel bằng cách sử dụng trình trợ giúp hủy bỏ. Hàm trợ giúp hủy bỏ có tham số văn bản phản hồi tùy chọn cho thông báo hiển thị tùy chỉnh

Phần kết luận

Lỗi và khắc phục sự cố làm mất thời gian và đau đầu trong quá trình phát triển và thậm chí trong quá trình triển khai ứng dụng của bạn. Công cụ phù hợp để xử lý lỗi giúp cuộc sống của bạn dễ dàng hơn. Stackify kết hợp ghi nhật ký đối tượng gỡ lỗi với ghi nhật ký lỗi, có thể dễ dàng kiểm tra nguyên nhân gốc rễ của các ngoại lệ của bạn. Công cụ quản lý nhật ký và lỗi của Stackify có thể giúp bạn dễ dàng theo dõi và khắc phục sự cố ứng dụng của mình. Bạn có thể dùng thử miễn phí 14 ngày của chúng tôi ngay bây giờ

Làm cách nào để xử lý xử lý lỗi trong PHP?

Xử lý lỗi trong PHP rất đơn giản. 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 tới trình duyệt. .
Câu lệnh "die()" đơn giản
Lỗi tùy chỉnh và kích hoạt lỗi
Báo cáo lỗi

Làm cách nào để bắt tất cả các ngoại lệ trong PHP?

Bắt tất cả ngoại lệ PHP . cố gắng { //. }type-hinting the global exception object, which is indicated by adding a backslash in front: try { // .. }

Ngoại lệ PDO trong PHP là gì?

PDOException PHP là một ngoại lệ thời gian chạy xảy ra khi có sự cố xảy ra khi sử dụng lớp PDO (Đối tượng dữ liệu PHP) hoặc các phần mở rộng có liên quan của nó . Ví dụ: ngoại lệ này có thể xảy ra trong khi xử lý các kết nối hoặc truy vấn cơ sở dữ liệu.

Chủ đề