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 4482 lượt xem

Magic method trong PHP

Devsne VN 9623 lượt xem

Viết code clean hơn trong php

Devsne VN 2716 lượt xem

PHP - Function

Devsne VN 7831 lượt xem

PHP magic methods

Devsne VN 9460 lượt xem

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

Devsne VN 8210 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 3206 lượt xem

CRUD Operation In PHP

Devsne VN 4236 lượt xem

Dựng môi trường phát triển nhanh chóng với sun-asterisk-research/docker-php-development

Devsne VN 6086 lượt xem

Nên sử dụng Composer khi phát triển bằng PHP !

Devsne VN 9337 lượt xem

Hướng dẫn cấu hình Nginx và tìm hiểu FastCGI cho Docker sử dụng PHP

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ụ