Trong bài này, chúng ta sẽ tìm hiểu về ngoại lệ [exception] trong PHP. Để học tốt bài này, các bạn cần đọc lại bài Cài đặt môi trường lập trình Web PHP với XAMPP để biết cách chạy ứng dụng web PHP với XAMPP.ngoại lệ [exception] trong PHP. Để học tốt bài này, các bạn cần đọc lại bài Cài đặt môi trường lập trình Web PHP với XAMPP để biết cách chạy ứng dụng web PHP với XAMPP.
Trong PHP, ngoại lệ [exception] là một đối tượng [object] mô tả một lỗi [error] hoặc một vấn đề bất thường của PHP script. Exception có thể được xử lý bằng cách ném [throw] và bắt [catch] trong PHP. Nếu một exception xảy ra mà không được xử lý thì sẽ gây ra Fatal Error trong PHP.ngoại lệ [exception] là một đối tượng [object] mô tả một lỗi [error] hoặc một vấn đề bất thường của PHP script. Exception có thể được xử lý bằng cách ném [throw] và bắt [catch] trong PHP. Nếu một exception xảy ra mà không được xử lý thì sẽ gây ra Fatal Error trong PHP.
Ném [throw] một ngoại lệ [exception] trong PHP
Câu lệnh
Fatal error: Uncaught Exception: Division by zero
3 cho phép chúng ta ném ra một exception. Khi một exception được ném ra thì các đoạn code sau nó sẽ không được thực thi. Nếu không bắt exception thì Fatal Error sẽ xảy ra với thông báo “Uncaught Exception“.Fatal error: Uncaught Exception: Division by zero
3 cho phép chúng ta ném ra một exception. Khi một exception
được ném ra thì các đoạn code sau nó sẽ không được thực thi. Nếu không bắt exception thì Fatal Error sẽ xảy ra với thông báo “Uncaught Exception“.
Kết quảFatal error: Uncaught Exception: Division by zero
2. Xử lý exception với câu lệnh try catch trong PHP
Chúng ta cần phải bắt [catch] các exception có thể xảy ra để tránh lỗi và không bị dừng chương trình. Trong PHP, câu lệnh
Fatal error: Uncaught Exception: Division by zero
4 giúp chúng ta catch các exception. Cú pháp:Fatal error: Uncaught Exception: Division by zero
4 giúp chúng ta catch các exception. Cú pháp:try {
//code that can throw exceptions
} catch[Exception $e] {
//code that runs when an exception is caught
}
Ví dụ sử dụng try…catch để bắt exception
Kết quảUnable to divide.
2. Xử lý exception với câu lệnh try catch trong PHP
Chúng ta cần phải bắt [catch] các exception có thể xảy ra để tránh lỗi và không bị dừng chương trình. Trong PHP, câu lệnh
Fatal error: Uncaught Exception: Division by zero
4 giúp chúng ta catch các exception. Cú pháp:Cú pháp:
Ví dụ sử dụng try…catch để bắt exception
6 luôn luôn được thực thi mặc dù có xảy ra
exception hay không. Nếu có khối lệnh Fatal error: Uncaught Exception: Division by zero
6 thì khối lệnh Fatal error: Uncaught Exception: Division by zero
8 có thể có hoặc không.Fatal error: Uncaught Exception: Division by zero
Câu lệnh try…catch…finally trong PHP
Kết quảUnable to divide.
Process complete.
2. Xử lý exception với câu lệnh try catch trong PHP
Kết quảProcess complete.
Fatal error: Uncaught Exception: Division by zero
2. Xử lý exception với câu lệnh try catch trong PHP: Có thể không sử dụng
8 khi có Fatal error: Uncaught Exception: Division by zero
6.
Nhưng nên sử dụng Fatal error: Uncaught Exception: Division by zero
8 để bắt exception để tránh Fatal Error.Fatal error: Uncaught Exception: Division by zero
Chúng ta cần phải bắt [catch] các exception có thể xảy ra để tránh lỗi và không bị dừng chương trình. Trong PHP, câu lệnh Fatal error: Uncaught Exception: Division by zero
4 giúp chúng ta catch các exception. Cú pháp:
Fatal error: Uncaught Exception: Division by zero
Ví dụ sử dụng try…catch để bắt exceptionException. Các đối tượng của lớp Exception chứa các thông tin về error xảy ra. Cú pháp tạo một object Exception:
Fatal error: Uncaught Exception: Division by zero
0Câu lệnh try…catch…finally trong PHP
- Câu lệnh
5 cũng có thể được sử dụng để catch các exception. Cú pháp:: Tham số tùy chọn. Tham số này có kiểu dữ liệu là string, mô tả tại sao exception lại bị ném ra.Fatal error: Uncaught Exception: Division by zero
- Các dòng code trong khối lệnh
6 luôn luôn được thực thi mặc dù có xảy ra exception hay không. Nếu có khối lệnhFatal error: Uncaught Exception: Division by zero
6 thì khối lệnhFatal error: Uncaught Exception: Division by zero
8 có thể có hoặc không.: Tham số tùy chọn. Tham số này có kiểu dữ liệu là integer, dùng để phân biệt các ngoại lệ với nhau.Fatal error: Uncaught Exception: Division by zero
- Ví dụ sử dụng try…catch…finally để bắt exception: Tham số tùy chọn. Nếu ngoại lệ này ném ra từ một ngoại lệ khác thì nên truyền ngoại lệ khác đó vào tham số này.
- Câu lệnh
Khối lệnh catch có thể có hoặc không khi sử dụng finally
Lưu ý: Có thể không sử dụng 8 khi có 6. Nhưng nên sử dụng 8 để bắt exception để tránh Fatal Error.
| 3. Đối tượng Exception trong PHP |
Những exception được ném ra đều là một object của lớp Exception. Các đối tượng của lớp Exception chứa các thông tin về error xảy ra. Cú pháp tạo một object Exception: | Trong đó, |
$message: Tham số tùy chọn. Tham số này có kiểu dữ liệu là string, mô tả tại sao exception lại bị ném ra. | $code: Tham số tùy chọn. Tham số này có kiểu dữ liệu là integer, dùng để phân biệt các ngoại lệ với nhau.null |
$previous: Tham số tùy chọn. Nếu ngoại lệ này ném ra từ một ngoại lệ khác thì nên truyền ngoại lệ khác đó vào tham số này. | Một số phương thức thường dùng của lớp Exceptioninteger của exception |
Phương thức | Chức năng |
getMessage[] | Trả về một string mô tả tại sao exception được ném ra |
getPrevious[]
Fatal error: Uncaught Exception: Division by zero
1Kết quảFatal error: Uncaught Exception: Division by zero
22. Xử lý exception với câu lệnh try catch trong PHP: PHP Exceptions w3schools.com, Exceptions php.net
- Chúng ta cần phải bắt [catch] các exception có thể xảy ra để tránh lỗi và không bị dừng chương trình. Trong PHP, câu lệnh
4 giúp chúng ta catch các exception. Cú pháp:Fatal error: Uncaught Exception: Division by zero
- Ví dụ sử dụng try…catch để bắt exception
- Câu lệnh try…catch…finally trong PHP
- Câu lệnh
5 cũng có thể được sử dụng để catch các exception. Cú pháp:Fatal error: Uncaught Exception: Division by zero
- Các dòng code trong khối lệnh
6 luôn luôn được thực thi mặc dù có xảy ra exception hay không. Nếu có khối lệnhFatal error: Uncaught Exception: Division by zero
6 thì khối lệnhFatal error: Uncaught Exception: Division by zero
8 có thể có hoặc không.Fatal error: Uncaught Exception: Division by zero