คําสั่ง try

โครงสร้าง try ช่วยให้จัดการข้อยกเว้นที่อาจเกิดขึ้นระหว่างการรันโค้ดได้ โค้ดที่อาจเกิดปัญหาจะถูกวางไว้ในบล็อก try และตัวจัดการข้อยกเว้นจะอยู่ ในบล็อก catch นอกจากนี้ยังสามารถใช้บล็อก finally ได้ ซึ่งจะถูกทําให้เสร็จสิ้นในทุกกรณี

ไวยากรณ์

phptry {
  // โค้ดที่อาจทําให้เกิดข้อยกเว้น
} catch (ExceptionType $e) {
  // การจัดการข้อยกเว้น
} finally {
  // โค้ดที่จะทําให้เสร็จสิ้นในทุกกรณี
}

ตัวอย่าง

ตัวอย่างพื้นฐานของการจัดการข้อยกเว้น:

php<?php
try {
  throw new Exception('Something went wrong');
} catch (Exception $e) {
  echo 'Caught exception: ', $e->getMessage();
}
?>

ผลลัพธ์จากการรันโค้ด:

php'Caught exception: Something went wrong'

ตัวอย่าง

ตัวอย่างการใช้บล็อก finally:

php<?php
try {
  echo 'Try block executed';
} finally {
  echo ' - Finally block executed';
}
?>

ผลลัพธ์จากการรันโค้ด:

php'Try block executed - Finally block executed'

ตัวอย่าง

การจัดการข้อยกเว้นประเภทต่างๆ:

php<?php
try {
  // โค้ดที่อาจทําให้เกิดข้อยกเว้นต่างกัน
  throw new InvalidArgumentException('Invalid argument');
} catch (InvalidArgumentException $e) {
  echo 'Invalid argument: ', $e->getMessage();
} catch (Exception $e) {
  echo 'Generic exception: ', $e->getMessage();
}
?>

ผลลัพธ์จากการรันโค้ด:

php'Invalid argument: Invalid argument'

ดูเพิ่มเติม

  • โครงสร้าง throw,
    ซึ่งสร้างข้อยกเว้น
  • ฟังก์ชัน set_exception_handler,
    ซึ่งกําหนดตัวจัดการข้อยกเว้น