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

PHP Array Functions With Example

Devsne VN 9309 lượt xem

Cách phân tích và sửa lỗi trên mã PHP của tôi

Devsne VN 4547 lượt xem

Cách làm việc với mảng trong PHP

Devsne VN 9625 lượt xem

Viết code clean hơn trong php

Devsne VN 8207 lượt xem

Hàm trong PHP hoạt động như nào?

Devsne VN 1138 lượt xem

Những câu hỏi phỏng vấn PHP thường gặp - DDTCMT

Devsne VN 7579 lượt xem

50 câu hỏi phỏng vấn PHP hay nhất

Devsne VN 7296 lượt xem

Top 10 sai lầm phổ biến của lập trình viên PHP - Phần 3

Devsne VN 5316 lượt xem

Exploring IoC Container in PHP (Part 3)

Devsne VN 9824 lượt xem

Dấu nháy đơn (single quotes) và dấu nháy đôi (double quotes) trong 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ụ