Computer >> Máy Tính >  >> Lập trình >> PHP

Mở rộng ngoại lệ trong PHP

Giới thiệu

Lớp ngoại lệ triển khai Có thể ném giao diện và là lớp cơ sở cho tất cả Ngoại lệ các lớp, các ngoại lệ được xác định trước cũng như các ngoại lệ do người dùng xác định. Lớp Exception xác định một số phương thức cuối cùng (không thể ghi đè) để triển khai các phương thức đó từ giao diện Throwable và __tostring () phương thức có thể được ghi đè để trả về biểu diễn chuỗi của đối tượng Exception.

hàm công khai cuối cùng getMessage () thông báo ngoại lệ
hàm công khai cuối cùng getCode () mã ngoại lệ
hàm công khai cuối cùng getFile () tên tệp nguồn
hàm công khai cuối cùng getLine () dòng nguồn
hàm công khai cuối cùng getTrace () một mảng của backtrace ()
hàm công khai cuối cùng getPrevious () ngoại lệ trước đó
hàm công khai cuối cùng getTraceAsString () chuỗi dấu vết được định dạng
hàm công khai __toString () chuỗi được định dạng để hiển thị

Nếu lớp ngoại lệ do người dùng xác định định nghĩa lại phương thức khởi tạo, thì nó sẽ gọi cha ::__ construct () để đảm bảo tất cả dữ liệu có sẵn đã được chỉ định đúng cách.

Ví dụ

Tập lệnh sau xác định một lớp ngoại lệ tùy chỉnh được gọi là myException . Loại ngoại lệ này được đưa ra nếu giá trị của $ num nhỏ hơn 0 hoặc lớn hơn 100. getMessage () phương thức của lớp Exception trả về thông báo lỗi và getLine () phương thức trả về dòng mã trong đó ngoại lệ xuất hiện

Ví dụ

<?php
class myException extends Exception{
   function message(){
      return "error : " . $this->getMessage() . " in line no " . $this->getLine();
   }
}
$num=125;
try{
   if ($num>100 || $num<0)
      throw new myException("$num is invalid number");
   else
      echo "$num is a valid number";
}
catch (myException $m){
   echo $m->message();
}
?>

Đầu ra

Chạy mã trên với $ num =125 và $ num =90 để nhận thông báo lỗi và thông báo về số hợp lệ

error : 125 is invalid number in line no 10