php exception handling
php exception handling

1. PHP Exception – Ngoại lệ trong PHP – Khái niệm

PHP Exception (ngoại lệ trong PHP) là gì?

PHP Exception (ngoại lệ trong PHP) là phương pháp dùng để quản lý, xử lý lỗi trong PHP. Cũng tương tự như PHP error handling mà mình đã giới thiệu trong bài trước, nhưng PHP Exception thì sử dụng cho việc chủ động bắt lỗi trên phần code mà chúng ta muốn. Sau đó quy tụ các lỗi vào một nơi để dễ dàng quản lý và xử lý chúng.

PHP Exception (ngoại lệ trong PHP) hoạt động như thế nào?

Quy tắc hoạt động của PHP Exception bao gồm 3 bước sau:

  1. Try – Sử dụng hàm try{...} bên trong là phần code chúng ta muốn kiểm tra. Nếu không có lỗi thì đoạn code vẫn hoạt động bình thường
  2. Throw – Đây là câu lệnh thường được gọi là ném lỗi, khi Throw được kích hoạt nó sẽ tìm đến hàm Catch (nếu có hàm Throw thì phải có hàm Catch đi kèm!).
  3. Catch – Hàm này dùng để lấy lỗi từ hàm Throw, các lỗi được ném ra sẽ quy tụ tại đây.

Trên đây là mô tả sơ lược quy tắc hoạt động của PHP Exception (ngoại lệ trong PHP), Chúng ta xem tiếp phần bên dưới để hiểu rõ hơn nhé!

2. Try – Throw – Catch

Dưới đây là ví dụ cụ thể cách sử dụng try, throw và catch căn bản:

Đoạn code trên khi chạy sẽ có kết quả như thế này:

Message: Giá trị phải bằng 1 hoặc nhỏ hơn

Lưu ý: trong hàm Catch() để lấy thông tin của lỗi thì dùng câu lệnh $e->getMessage() nhé!, vì mặc định hàm Catch() sẽ tạo ra một biến object để lưu thông tin lỗi.

3. Tạo ngoại lệ tùy chỉnh

Dưới đây là cách tạo một ngoại lệ tùy chỉnh bằng cách tạo một lớp(class) với tên “customException” và thừa kế lớp(class) Exception mặc định của PHP, khi thừa kế chúng ta có thể sử dụng lại các lệnh mặc định của Exception như $this->getMessage()$this->getLine()$this->getFile()

Đoạn trên khi chạy cho kết quả tương tự như thế này:

Lỗi tại dòng 18 trong C:\webfolder\test.php : someone@example…com không phải là một địa chỉ email hợp lệ

4. Cách xử lý nhiều ngoại lệ

Dưới đây là ví dụ cách xử lý 2 ngoại lệ:

Đoạn code trên khi chạy sẽ có kết quả như thế này:

someone@example.com là một email dùng để ví dụ

5. Try…Catch trong Try…Catch

Trong một vài trường hợp bạn muốn ném ra một lỗi từ hàm Catch(),  chúng ta có thể sử dụng phương pháp mà mình nói cho dễ hiểu là try...catch trong try...catch

Dưới đây là ví dụ cụ thể:

Đoạn code trên khi chạy sẽ có kết quả như thế này:

someone@example.com không phải là một email hợp lệ vì có từ “example”.

6. Thiết lập trình xử lý ngoại lệ cấp cao nhất

Hàm set_exception_handler() thiết lập một hàm do chúng ta định nghĩa để xử lý tất cả các ngoại lệ mà không có hàm Catch()

Ví dụ

Đoạn code trên khi chạy sẽ có kết quả như thế này:

Exception: Đã xảy ra ngoại lệ

7. Lời kết

Tổng kết lại thì bài học hôm nay chúng ta đã hiểu được PHP exception (ngoại lệ trong PHP) là gì và cách sử dụng nó ra sao. Nếu có chổ nào không hiểu hoặc thắc mắc các bạn hãy comment bên dưới nhé!. Bây giờ học bài mới nào hihi 🙂 Lộ trình học PHP – Tổng hợp PHP – Căn bản – Nâng cao

 

Nguồn: phpcanban.com

PHP Exception – Ngoại Lệ Trong PHP – Chương 10
5 (100%) 1 vote

Chia sẻ
Bài trướcPHP Error Handling – Xử lý lỗi trong PHP – Chương 9
Bài tiếp theoMySQL Là Gì? – MySQL Server Là Gì? – PHP+MySQL
Mình là Nguyễn Công! Mình bắt đầu kiếm tiền Online từ năm 2017 và nhờ đó mà có thu nhập rất ổn định. Mình chia sẽ những dự án kiếm tiền Online tốt nhất đã được khảo sát và chắt lọc cho các bạn. Hy vọng thông qua những bài viết phân tích đánh giá ICO các bạn sẽ đưa ra quyết định đầu tư thành công!. Chúc các bạn một ngày nhiều niềm vui! Group Facebook: https://goo.gl/CXVpWU Group Telegram: https://goo.gl/7w3c4t

BÌNH LUẬN

Please enter your comment!
Please enter your name here