คําสั่ง try
โครงสร้าง try ช่วยให้จัดการข้อยกเว้นที่อาจเกิดขึ้นระหว่างการรันโค้ดได้
โค้ดที่อาจเกิดปัญหาจะถูกวางไว้ในบล็อก try และตัวจัดการข้อยกเว้นจะอยู่ ในบล็อก catch
นอกจากนี้ยังสามารถใช้บล็อก finally ได้ ซึ่งจะถูกทําให้เสร็จสิ้นในทุกกรณี
ไวยากรณ์
try {
// โค้ดที่อาจทําให้เกิดข้อยกเว้น
} catch (ExceptionType $e) {
// การจัดการข้อยกเว้น
} finally {
// โค้ดที่จะทําให้เสร็จสิ้นในทุกกรณี
}
ตัวอย่าง
ตัวอย่างพื้นฐานของการจัดการข้อยกเว้น:
<?php
try {
throw new Exception('Something went wrong');
} catch (Exception $e) {
echo 'Caught exception: ', $e->getMessage();
}
?>
ผลลัพธ์จากการรันโค้ด:
'Caught exception: Something went wrong'
ตัวอย่าง
ตัวอย่างการใช้บล็อก finally:
<?php
try {
echo 'Try block executed';
} finally {
echo ' - Finally block executed';
}
?>
ผลลัพธ์จากการรันโค้ด:
'Try block executed - Finally block executed'
ตัวอย่าง
การจัดการข้อยกเว้นประเภทต่างๆ:
<?php
try {
// โค้ดที่อาจทําให้เกิดข้อยกเว้นต่างกัน
throw new InvalidArgumentException('Invalid argument');
} catch (InvalidArgumentException $e) {
echo 'Invalid argument: ', $e->getMessage();
} catch (Exception $e) {
echo 'Generic exception: ', $e->getMessage();
}
?>
ผลลัพธ์จากการรันโค้ด:
'Invalid argument: Invalid argument'
ดูเพิ่มเติม
-
โครงสร้าง
throw,
ซึ่งสร้างข้อยกเว้น -
ฟังก์ชัน
set_exception_handler,
ซึ่งกําหนดตัวจัดการข้อยกเว้น