Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> PHP

แยกความแตกต่างระหว่างข้อยกเว้นและข้อผิดพลาดใน PHP


มาพูดถึงความแตกต่างระหว่างข้อผิดพลาดและข้อยกเว้นกัน

  • ไม่สามารถกู้คืนจากข้อผิดพลาดได้ ทางออกเดียวสำหรับข้อผิดพลาดคือการยุติการดำเนินการ ในขณะที่เราสามารถกู้คืนจาก Exception ได้โดยใช้บล็อก try-catch หรือส่งข้อยกเว้นกลับไปยังผู้โทร
  • คุณจะไม่สามารถจัดการกับข้อผิดพลาดโดยใช้บล็อก try-catch แม้ว่าคุณจะจัดการกับมันโดยใช้บล็อก try-catch แอปพลิเคชันของคุณจะไม่กู้คืนหากเกิดขึ้น ในทางกลับกัน ข้อยกเว้นสามารถจัดการได้โดยใช้บล็อก try-catch และทำให้โปรแกรมไหลได้ตามปกติหากเกิดขึ้น
  • ข้อยกเว้นเกี่ยวข้องกับแอปพลิเคชันในขณะที่ข้อผิดพลาดเกี่ยวข้องกับสภาพแวดล้อมที่แอปพลิเคชันกำลังทำงานอยู่

ตัวอย่าง

<?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";
?>

คำอธิบาย

การทำงานของโปรแกรมจะดำเนินต่อไป - เนื่องจากคุณ 'พบ' ข้อยกเว้น ข้อยกเว้นจะถือเป็นข้อผิดพลาด เว้นแต่จะถูกจับได้ มันจะช่วยให้คุณดำเนินการโปรแกรมต่อไปหลังจากที่มันล้มเหลวเช่นกัน

ตัวอย่าง

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

คำอธิบาย

การทำงานของโปรแกรมจะหยุดด้วย PHP Notice:Array to string conversion