Try catch เบื้องต้น

PHP Knowledge เป็น บอร์ดรวามความรู้ php เน้นบทความ แนวทางการเขียนโปรแกรม บันทึกกันลืม เพื่อให้สมาชิกได้เขียนความรู้ที่ตัวเองมีให้สมาชิกท่านอื่นๆ ได้ เข้ามาอ่าน และ ไว้อ่านเองกันลืมด้วย

Moderators: mindphp, ผู้ดูแลกระดาน

Post Reply
จันนุสรณ์ ดีแก่
PHP VIP Members
PHP VIP Members
Posts: 1478
Joined: 15/11/2018 10:01 am

Try catch เบื้องต้น

Post by จันนุสรณ์ ดีแก่ » 22/11/2018 5:10 pm

Try catch คืออะไร Try catch เป็นการดักจับข้อผิดพลาด


-try คือส่วนที่ดักจับข้อผิดพลาด
-catch ส่วนที่แก้ไขข้อผิดพลาดของโปรแกรม
-throw new Exceptionเอกเซฟซัน(‘...’)ระบุข้อความเมื่อมีส่วนที่ผิดพลาด

ตัวอย่างการเขียน code ดักจับข้อผิดพลาด ในที่นี่เราได้กำหนดตัวแปร 3 อย่างเมื่อนำมาหาร 5 ก็จะได้ผลลัพธ์แตกต่างกันไป
จากตัวอย่างเราจะเห็นได้ว่า Try catch เป็นโปรแกรมในการตรวจสอบบัค เมื่อมีข้อผิดพลาดเกิดขึ้น เราจะแสดงข้อความที่เรากำหนดเอาไว้

Code: Select all

<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
        <?php
        function number($cal) {//ทำการสร้างเงื่อนไข โดยกำหนดเงื่อนไขให้กับตัวแปร cal
            if ($cal==0) {//กำหนดให้ cal ,u8jkgmjkdy[ 0
                throw new Exception('กรณีที่เป็น 0 ');//ถ้า cal มีค่าเป็น 0 จริง ให้แสดงข้อความว่า กรณีที่เป็น 0
            }
            else {
                return "$cal / 5 = " .($cal / 5);//ถ้าไม่เท่ากับ 0 ให้นำตัวแปร cal มาหารด้วย 5
            }
        }
        try{//ต่อไปเป็นการทำให้ส่วน เท
                    echo number(35) . "<br/>";//กำหนดค่า number ออกมา 3 ในที่นี่กำหนด 35,20,0ค่าแล้วนำไปหารด้วย 5
                    echo number(20) . "<br/>";
                    echo number (0) . "<br/>";
        } catch (Exception $e){//เป็นส่วนที่แก้ไขข้อผิดพลาด
      echo "ตรวจจับข้อผิดพลาด : " . $e->getMessage(). "<br/>";//หากมีข้อผิดพลาดเกิดขึ้น จะแสดงว่า ตรวจจับข้อผิดพลาดและแสดงค่า เกดเมสเซด

        }
        ?>
    </body>
</html>
Screenshot (219).png
ผลลัพธ์
Screenshot (220).png
สามารถดูข้อมูลเพิ่มเติมได้ที่ บทที่ 26 สอน PHP7 จัดการข้อผิดพลาดของโปรแกรม ด้วย try catch จับ Error

Post Reply

Return to “PHP Knowledge”

Users browsing this forum: No registered users and 2 guests