Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> PHP

การทำงานของ Non-Capturing Exception Catches ใน PHP 8

ใน PHP เวอร์ชันก่อนหน้า หากเราต้องการจับข้อยกเว้น เราจำเป็นต้องเก็บไว้ในตัวแปรเพื่อตรวจสอบว่าตัวแปรนั้นถูกใช้หรือไม่

ก่อน PHP 8 เพื่อจัดการบล็อก catch ข้อยกเว้น เราจำเป็นต้องจับข้อยกเว้น (ที่โยนโดยบล็อก try) ไปยังตัวแปร

ตัวอย่าง: Capturing Exception Catches ใน PHP

<?php 
function foo() 
{ 
    try{ 
        throw new Exception('Hello'); 
    } 
    catch (Exception $e) { 
        return $e->getMessage(); 
    } 
} ?>

คำอธิบาย - ในโปรแกรมด้านบน ข้อยกเว้นถูกจับโดยบล็อก catch ไปยัง ตัวแปร $e ตอนนี้ ตัวแปร $e สามารถเก็บข้อมูลเกี่ยวกับข้อยกเว้นได้ เช่น รหัส ข้อความ ฯลฯ

PHP 8 นำเสนอ non-capturing catches ตอนนี้สามารถจับข้อยกเว้นได้โดยไม่ต้องจับไว้ในตัวแปร ตอนนี้เราสามารถละเว้นตัวแปรได้

ตัวอย่าง: Non-Capturing Exception Catches ใน PHP 8

<?php 
try{ 
    throw new Exception('hello'); 
} 
catch (Exception) { // ตัวแปร $e ถูกละเว้น } ?>

หมายเหตุ: ในโปรแกรมด้านบน เราไม่ได้ใช้ $e ตัวแปรเพื่อเก็บข้อมูลข้อยกเว้น