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

ความแตกต่างระหว่าง Exception และ Error ใน PHP

มาดูความแตกต่างระหว่าง Error และ Exception ใน PHP กัน:

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

ตัวอย่างการจัดการ Exception

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

คำอธิบาย

การทำงานของโปรแกรมจะดำเนินต่อไป - เพราะคุณ "จับ" (caught) exception ไว้ Exception จะถูกปฏิบัติเหมือน error เว้นแต่จะถูกจับ (catch) จะทำให้คุณสามารถดำเนินการโปรแกรมต่อได้แม้จะล้มเหลว

ตัวอย่าง Error

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

คำอธิบาย

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