บทนำ
คลาส DivisionByZeroError เป็น subclass ของคลาส ArithmeticError ข้อผิดพลาดประเภทนี้เกิดขึ้นเมื่อ operation การหารมีค่า denominator เป็นศูนย์ สามารถเกิดขึ้นได้เมื่อ modulo operator (%) มี operator ตัวที่สองเป็น 0 และฟังก์ชัน intdiv() มี argument ตัวที่สองเป็น 0
DivisionByZeroError Example
ในตัวอย่างแรก ลองทำ modulo division ของ 10 และ 0 ด้วย operator % เพื่อกระตุ้น DivisionByZeroError
ตัวอย่าง
<?php try { $a = 10; $b = 0; $result = $a % $b; echo $result; } catch (DivisionByZeroError $e) { echo $e->getMessage(); } ?>ผลลัพธ์
จะได้ผลลัพธ์ดังนี้
Modulo by zero
การเรียก intdiv() function ด้วย 0 เป็น argument ตัวที่สอง ก็กระตุ้น DivisionByZeroError เช่นกัน
ตัวอย่าง
<?php try { $a = 10; $b = 0; $result = intdiv($a, $b); echo $result; } catch (DivisionByZeroError $e) { echo $e->getMessage(); } ?>ผลลัพธ์
จะได้ผลลัพธ์ดังนี้
Division by zero
Division operator (/) ที่มี 0 เป็น denominator แต่ไม่โยน error แทนจะปล่อย warning เพราะการหารให้ค่าคงที่ PHP INF
ตัวอย่าง
<?php try { $a = 10; $b = 0; $result = $a / $b; echo $result; } catch (DivisionByZeroError $e) { echo $e->getMessage(); } ?>ผลลัพธ์
จะได้ผลลัพธ์ดังนี้
PHP Warning: Division by zero in C:\xampp\php\test.php on line 5 INF