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

การจัดการข้อยกเว้นใน PHP คืออะไร?


ข้อยกเว้นคือปัญหาที่เกิดขึ้นระหว่างการทำงานของโปรแกรม ในระหว่างการดำเนินการของโปรแกรมเมื่อมีข้อยกเว้นเกิดขึ้น โค้ดที่ตามหลังคำสั่งจะไม่ถูกดำเนินการ และ PHP จะพยายามค้นหาบล็อก catch ที่ตรงกันตัวแรก หากไม่พบข้อยกเว้น PHP Fatal Error จะออกมาพร้อมกับ “Uncaught Exception”

ไวยากรณ์

   try {
      print "this is our try block";
      throw new Exception();
      }catch (Exception $e) {
         print "something went wrong, caught yah! n";
      }finally {
         print "this part is always executed";
      }

ตัวอย่าง

<?php
   function printdata($data) {
      try {
         //If var is six then only if will be executed
         if($data == 6) {
         // If var is zero then only exception is thrown
         throw new Exception('Number is six.');
            echo "\n After throw (It will never be executed)";
         }
      }
      // When Exception has been thrown by try block
         catch(Exception $e){
            echo "\n Exception Caught", $e->getMessage();
         }
      //this block code will always executed.
         finally{
            echo "\n Final block will be always executed";
         }
   }
   // Exception will not be rised here
      printdata(0);
      // Exception will be rised
      printdata(6);

?>

ผลลัพธ์

Final block will be always executed
Exception CaughtNumber is six.
Final block will be always executed

หมายเหตุ

เพื่อจัดการกับข้อยกเว้น รหัสโปรแกรมต้องอยู่ภายในบล็อกการลอง การลองแต่ละครั้งต้องมีบล็อก catch อย่างน้อยหนึ่งบล็อก สามารถใช้ catch block หลายอันเพื่อตรวจจับคลาสของข้อยกเว้นต่างๆ ได้