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 Đ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 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 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 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ờXử lý lỗi khung công tác PHP khác
Phần kết luận
Làm cách nào để xử lý xử lý lỗi trong PHP?
Làm cách nào để bắt tất cả các ngoại lệ trong PHP?
Ngoại lệ PDO trong PHP là gì?