ฟังก์ชัน catch

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

ไวยากรณ์

phptry {
  // โค้ดที่อาจโยนข้อยกเว้น
} catch (ExceptionType $e) {
  // การจัดการข้อยกเว้น
}

ตัวอย่าง

ตัวอย่างง่ายๆ ในการจัดการข้อยกเว้น:

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

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

php'Caught exception: Something went wrong'

ตัวอย่าง

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

php<?php
  try {
    if (rand(0, 1)) {
      throw new InvalidArgumentException('Invalid argument');
    } else {
      throw new RuntimeException('Runtime error');
    }
  } catch (InvalidArgumentException $e) {
    echo 'Invalid argument: ' . $e->getMessage();
  } catch (RuntimeException $e) {
    echo 'Runtime error: ' . $e->getMessage();
  } catch (Exception $e) {
    echo 'Generic exception: ' . $e->getMessage();
  }
?>

ผลลัพธ์ที่เป็นไปได้จากการรันโค้ด:

php'Invalid argument: Invalid argument'
หรือ
'Runtime error: Runtime error'

ดูเพิ่มเติม

  • โครงสร้าง try,
    ซึ่งกำหนดบล็อกโค้ดสำหรับจัดการข้อยกเว้น
  • โครงสร้าง throw,
    ซึ่งโยนข้อยกเว้นออกมา
  • คลาส Exception,
    ซึ่งเป็นคลาสพื้นฐานสำหรับข้อยกเว้นทั้งหมด