PHP Exceptions

Exceptions คือข้อยกเว้น เช่นการเกิดข้อผิดพลาดของการทำงานหรือมีบางอย่างที่ผิดพลาด ตัวอย่างเช่น ไวยากรณ์ผิดพลาด ประมาณนี้ ซึ่งหากเกิด exceptions ก็อาจทำให้โปรแกรมไม่สามารถประมวลผลต่อไปได้

ตัวอย่างการเกิดข้อยกเว้น exceptions

<?php
function divide($dividend, $divisor) {
  if($divisor == 0) {
    throw new Exception("Division by zero");
  }
  return $dividend / $divisor;
}

echo divide(5, 0);
?>

ไฟล์ที่ 1 ตัวอย่าง exceptions 

ดังนั้นจึงมีการสร้างฟังก์ชันที่ใช้ในการ ละเว้นข้อยกเว้นที่อาจเกิดขึ้นด้วย  try…catch  

try…catch เป็นคำสั่งที่ใช้ในการตรวจสอบข้อยกเว้น และสั่งให้ดำเนินการต่อไปได้ 

ไวยากรณ์ try…catch

try {
  code that can throw exceptions
} catch(Exception $e) {
  code that runs when an exception is caught
}

 

ตัวอย่างการใช้งาน try…catch เพื่อแก้ปัญหาการเกิด exceptions

<?php
function divide($dividend, $divisor) {
  if($divisor == 0) {
    throw new Exception("Division by zero");
  }
  return $dividend / $divisor;
}

try {
  echo divide(5, 0);
} catch(Exception $e) {
  echo "Unable to divide.";
}
?>

ไฟล์ที่ 2 try…catch

ต่อไปเป็นรูปแบบคำสั่ง  finally  ที่จะทำงานตลอดเวลา ไม่ว่าจะเกิด exceptions หรือไม่ก็ตาม 

ไวยากรณ์

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
}

 

ตัวอย่างการเขียน try…catch…finally

<?php
function divide($dividend, $divisor) {
  if($divisor == 0) {
    throw new Exception("Division by zero");
  }
  return $dividend / $divisor;
}

try {
  echo divide(5, 0);
} catch(Exception $e) {
  echo "Unable to divide. ";
} finally {
  echo "Process complete.";
}
?>

ไฟล์ที่ 3 try…catch…finally