คลาส Exception

คลาส Exception เป็นคลาสพื้นฐานสำหรับข้อยกเว้นทั้งหมดใน PHP คลาสนี้ประกอบด้วยวิธีการหลักสำหรับการทำงานกับข้อยกเว้น: การรับข้อความแสดงข้อผิดพลาด, รหัสข้อผิดพลาด, ไฟล์และบรรทัดที่เกิดข้อยกเว้น รวมถึงสแตกของการเรียก เมื่อสร้างข้อยกเว้นสามารถส่งผ่านข้อความ, รหัสข้อผิดพลาดและข้อยกเว้นก่อนหน้าได้

ไวยากรณ์

phpnew Exception(string $message = "", int $code = 0, Throwable $previous = null);

ตัวอย่าง

สร้างและจัดการข้อยกเว้นอย่างง่าย:

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

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

php'Error: Something went wrong'

ตัวอย่าง

ใช้วิธีการหลักของคลาส Exception:

php<?php
  try {
    throw new Exception('Test exception', 123);
  } catch (Exception $e) {
    echo 'Message: ' . $e->getMessage() . "\n";
    echo 'Code: ' . $e->getCode() . "\n";
    echo 'File: ' . $e->getFile() . "\n";
    echo 'Line: ' . $e->getLine() . "\n";
  }
?>

ผลลัพธ์จากการรันโค้ด (ตัวอย่าง):

php'Message: Test exception
Code: 123
File: /path/to/file.php
Line: 3'

ตัวอย่าง

รับสแตกของการเรียกเมื่อเกิดข้อยกเว้น:

php<?php
  function test() {
    throw new Exception('Stack trace test');
  }
  
  try {
    test();
  } catch (Exception $e) {
    print_r($e->getTrace());
  }
?>

ผลลัพธ์จากการรันโค้ด (ตัวอย่าง):

php[
  [
    'file' => '/path/to/file.php',
    'line' => 5,
    'function' => 'test',
    'args' => []
  ]
]

ดูเพิ่มเติม

  • คลาส ErrorException,
    ซึ่งแสดงข้อผิดพลาดในรูปแบบของข้อยกเว้น
  • ฟังก์ชัน set_exception_handler,
    ซึ่งกำหนดตัวจัดการข้อยกเว้นแบบกำหนดเอง