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

Phân biệt giữa ngoại lệ và lỗi trong PHP


Hãy thảo luận về sự khác biệt giữa lỗi và ngoại lệ.

  • Không thể khôi phục từ Lỗi. Giải pháp duy nhất cho các lỗi là chấm dứt việc thực thi. Trong khi đó, chúng tôi có thể khôi phục từ Exception bằng cách sử dụng khối try-catch hoặc ném lại một ngoại lệ cho người gọi.
  • Bạn sẽ không thể xử lý Lỗi bằng cách sử dụng các khối thử bắt. Ngay cả khi bạn xử lý chúng bằng cách sử dụng khối try-catch, ứng dụng của bạn sẽ không phục hồi nếu chúng xảy ra. Mặt khác, các Ngoại lệ có thể được xử lý bằng cách sử dụng các khối try-catch và có thể làm cho chương trình chạy bình thường nếu chúng xảy ra.
  • Các trường hợp ngoại lệ liên quan đến ứng dụng trong khi Lỗi liên quan đến môi trường mà ứng dụng đang chạy.

Ví dụ

<?php
   try {
      $row->insert();
      $inserted = true;
      }
   catch (Exception $e)
      {
      echo "There was an error inserting the row - ".$e->getMessage();
      $inserted = false;
      }
      echo "Some more stuff";
?>

Giải thích

Quá trình thực thi chương trình sẽ tiếp tục - bởi vì bạn đã 'bắt gặp' ngoại lệ. Một ngoại lệ sẽ được coi là một lỗi trừ khi nó bị bắt. Nó sẽ cho phép bạn tiếp tục thực thi chương trình sau khi nó bị lỗi.

Ví dụ

<?php
   $foo = [bar];
   echo $foo;
 ?>

Giải thích

Việc thực thi chương trình sẽ dừng lại với PHP Thông báo:Chuyển đổi mảng thành chuỗi.