Ngoại lệ PHP
Học Php bắt đầu với Hello, World
Tự làm quen với các bài tập và gửi đoạn code đầu tiên của bạn bằng cách hoàn thành bài đầu tiên "Hello, World!".
Luyện tập
Ngoại lệ là gì?
  • Ngoại lệ là một đối tượng mô tả lỗi hoặc hành vi không mong muốn của tập lệnh PHP.
  • Các ngoại lệ được đưa ra bởi nhiều hàm và lớp PHP.
  • Các hàm và lớp do người dùng định nghĩa cũng có thể đưa ra các ngoại lệ.
  • Ngoại lệ là một cách hay để dừng một chức năng khi nó gặp dữ liệu mà nó không thể sử dụng.
Throw exceptions
  • Câu throw lệnh cho phép một hàm hoặc phương thức do người dùng định nghĩa đưa ra một ngoại lệ. Khi một ngoại lệ được throw, mã theo sau nó sẽ không được thực thi.
  • Nếu một ngoại lệ không bị bắt, một lỗi nghiêm trọng sẽ xảy ra với thông báo "Ngoại lệ chưa được bắt".
  • Hãy thử throw một ngoại lệ mà không bắt nó:
Ví dụ
Compiler
Câu lệnh try...catch

Để tránh lỗi từ ví dụ trên, chúng ta có thể sử dụng try...catch để bắt ngoại lệ và tiếp tục quá trình.

Cú pháp

try {
  code that can throw exceptions
catch(Exception $e) {
  code that runs when an exception is caught
}
Ví dụ
Compiler
Câu lệnh try...catch...finally

Câu lệnh try...catch...finally có thể được sử dụng để bắt ngoại lệ. Mã trong khối finally sẽ luôn chạy bất kể ngoại lệ có bị bắt hay không. Nếu finally có, catch khối là tùy chọn.

Cú pháp

try {
  code that can throw exceptions
catch(Exception $e) {
  code that runs when an exception is caught
finally {
  code that always runs regardless of whether an exception was caught
}

 

Ví dụ
Compiler
Ví dụ
Compiler
Đối tượng ngoại lệ

Đối tượng ngoại lệ chứa thông tin về lỗi hoặc hành vi không mong muốn mà chức năng gặp phải.

Cú pháp

new Exception(message, code, previous)

Giá trị tham số

Biến Mô tả
message Không bắt buộc. Một chuỗi mô tả lý do tại sao ngoại lệ được đưa ra
code Không bắt buộc. Một số nguyên có thể được sử dụng để dễ dàng phân biệt ngoại lệ này với các ngoại lệ khác cùng loại
previous Không bắt buộc. Nếu ngoại lệ này được ném vào khối bắt của một ngoại lệ khác, bạn nên chuyển ngoại lệ đó vào tham số này

Phương thức

Khi bắt một ngoại lệ, bảng sau hiển thị một số phương pháp có thể được sử dụng để lấy thông tin về ngoại lệ:

Method Description
getMessage() Trả về một chuỗi mô tả lý do tại sao ngoại lệ được ném ra
getPrevious() Nếu ngoại lệ này được kích hoạt bởi một ngoại lệ khác, phương thức này sẽ trả về ngoại lệ trước đó. Nếu không, nó sẽ trả về null
getCode() Trả về exception code
getFile() Trả về đường dẫn đầy đủ của tệp mà ngoại lệ đã được đưa ra
getLine() Trả về số dòng của dòng mã đã ném ngoại lệ
Ví dụ
Compiler
Một số bài viết liên quan
Devsne VN 6536 lượt xem

UnitTest là gì ? Những điều cần biết về Unit Test trong Laravel - PHP

Devsne VN 4692 lượt xem

[Lession 3 - PHP] Nhúng một file PHP vào trong một file PHP

Devsne VN 4974 lượt xem

Bài toán rút tiền từ ATM - PHP

Devsne VN 8181 lượt xem

Laravel <= v8.4.2 debug mode: Remote code execution - Chiếm quyền điều khiển máy thằng bạn đang code PHP

Devsne VN 10262 lượt xem

Cách đơn giản viết xử lý bất đồng bộ trong PHP 8.1

Devsne VN 10226 lượt xem

Xử lý ngày tháng trong PHP

Devsne VN 3727 lượt xem

[Lession 7 - PHP] Xử lý String trong PHP

Devsne VN 7742 lượt xem

Các hàm tự động tạo ra thường dùng trong PHP (Phần 2)

Devsne VN 7450 lượt xem

Xây dựng ứng dụng Blockchain với PHP

Devsne VN 9419 lượt xem

Khai thác lỗ hổng File Upload trên php để up shell

Mục lục
Ngoại lệ là gì?
Throw exceptions
Ví dụ
Câu lệnh try...catch
Ví dụ
Câu lệnh try...catch...finally
Ví dụ
Ví dụ
Đối tượng ngoại lệ
Ví dụ