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

PHP DivisionByZeroError

บทนำ

คลาส 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