แนะนำตัว
DivisionByZeroError class เป็นคลาสย่อยของ ArithmeticError ระดับ. ข้อผิดพลาดประเภทนี้เกิดขึ้นเมื่อการดำเนินการหารเกี่ยวข้องกับค่าของตัวส่วนเป็นศูนย์ สิ่งนี้สามารถเกิดขึ้นได้เมื่อตัวดำเนินการโมดูโล (% ) มี 0 เป็นโอเปอเรเตอร์ที่สอง และ intdiv () ฟังก์ชันที่มีอาร์กิวเมนต์ที่สองเป็น 0
ตัวอย่างข้อผิดพลาด DivisionByZero
ในตัวอย่างแรก เราพยายามทำการหารโมดูโลของ 10 และ 0 โดยใช้ % ตัวดำเนินการเพื่อกระตุ้นให้เกิด DivisionByZeroError
ตัวอย่าง
<?php try { $a = 10; $b = 0; $result = $a%$b; echo $result; } catch (DivisionByZeroError $e) { echo $e->getMessage(); } ?>
ผลลัพธ์
สิ่งนี้จะทำให้เกิดผลลัพธ์ดังต่อไปนี้ -
Modulo by zero
หากโทรไปที่ intdiv() ฟังก์ชันที่มี 0 เนื่องจากอาร์กิวเมนต์ที่สองยังเพิ่ม DivisionByZeroError ดังนี้
ตัวอย่าง
<?php try { $a = 10; $b = 0; $result = intdiv($a,$b); echo $result; } catch (DivisionByZeroError $e) { echo $e->getMessage(); } ?>
ผลลัพธ์
สิ่งนี้จะทำให้เกิดผลลัพธ์ดังต่อไปนี้ -
Division by zero
เจ้าหน้าที่กอง (/) มี 0 เป็นตัวส่วน แต่ไม่ทำให้เกิดข้อผิดพลาด แต่กลับทำให้เกิดคำเตือนเนื่องจากการหารส่งผลให้ค่าคงที่ 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