แนะนำตัว
คลาสข้อยกเว้นใช้ โยนได้ ส่วนต่อประสานและเป็นคลาสพื้นฐานสำหรับ ข้อยกเว้น . ทั้งหมด คลาส ข้อยกเว้นที่กำหนดไว้ล่วงหน้า เช่นเดียวกับข้อยกเว้นที่ผู้ใช้กำหนด คลาสข้อยกเว้นกำหนดวิธีการขั้นสุดท้าย (ไม่สามารถแทนที่ได้) เพื่อนำไปใช้จากอินเทอร์เฟซ Throwable และ __tostring() เมธอดที่สามารถแทนที่เพื่อส่งคืนการแสดงสตริงของอ็อบเจกต์ Exception
ฟังก์ชันสาธารณะขั้นสุดท้าย getMessage() | ข้อความยกเว้น |
ฟังก์ชั่นสาธารณะขั้นสุดท้าย getCode() | รหัสข้อยกเว้น |
ฟังก์ชันสาธารณะขั้นสุดท้าย getFile() | ชื่อไฟล์ต้นทาง |
ฟังก์ชั่นสาธารณะขั้นสุดท้าย getLine() | แหล่งที่มา |
ฟังก์ชันสาธารณะขั้นสุดท้าย getTrace() | อาร์เรย์ของ backtrace() |
ฟังก์ชั่นสาธารณะขั้นสุดท้าย getPrevious() | ข้อยกเว้นก่อนหน้า |
ฟังก์ชันสาธารณะขั้นสุดท้าย getTraceAsString() | รูปแบบสตริงของการติดตาม |
ฟังก์ชันสาธารณะ __toString() | รูปแบบสตริงสำหรับแสดงผล |
หากผู้ใช้กำหนดคลาสข้อยกเว้นกำหนดคอนสตรัคเตอร์อีกครั้ง ก็ควรเรียก parent::__construct() เพื่อให้แน่ใจว่ามีการกำหนดข้อมูลที่มีอยู่ทั้งหมดอย่างถูกต้อง
ตัวอย่าง
สคริปต์ต่อไปนี้กำหนดคลาสข้อยกเว้นแบบกำหนดเองที่เรียกว่า myException . ข้อยกเว้นประเภทนี้จะถูกส่งออกไปหากค่าของ $num น้อยกว่า 0 หรือมากกว่า 100 getMessage() เมธอดของ Exception class ส่งคืนข้อความแสดงข้อผิดพลาดและ getLine() method ส่งคืนบรรทัดของรหัสที่มีข้อยกเว้นปรากฏขึ้น
ตัวอย่าง
<?php class myException extends Exception{ function message(){ return "error : " . $this->getMessage() . " in line no " . $this->getLine(); } } $num=125; try{ if ($num>100 || $num<0) throw new myException("$num is invalid number"); else echo "$num is a valid number"; } catch (myException $m){ echo $m->message(); } ?>
ผลลัพธ์
เรียกใช้โค้ดด้านบนด้วย $num=125 และ $num=90 เพื่อรับข้อความแสดงข้อผิดพลาดและข้อความแสดงหมายเลขที่ถูกต้อง
error : 125 is invalid number in line no 10