परिचय
DivisionByZeroError क्लास ArithmeticError क्लास की सबक्लास है। इस प्रकार की त्रुटि तब होती है जब विभाजन ऑपरेशन में हर का मान शून्य होता है। यह तब भी हो सकता है जब मोडुलो ऑपरेटर (%) का दूसरा ऑपरेंड 0 हो, और intdiv() फ़ंक्शन का दूसरा आर्गुमेंट 0 हो।
DivisionByZeroError उदाहरण
पहले उदाहरण में, हम % ऑपरेटर का उपयोग करके 10 और 0 का मोडुलो विभाजन करने का प्रयास करते हैं ताकि DivisionByZeroError प्रेरित हो।
उदाहरण 1
<?php
try {
$a = 10;
$b = 0;
$result = $a % $b;
echo $result;
} catch (DivisionByZeroError $e) {
echo $e->getMessage();
}
?>
आउटपुट
Modulo by zero
यदि intdiv() फ़ंक्शन को 0 के रूप में दूसरा आर्गुमेंट दिया जाता है, तो यह भी DivisionByZeroError उठाता है:
उदाहरण 2
<?php
try {
$a = 10;
$b = 0;
$result = intdiv($a, $b);
echo $result;
} catch (DivisionByZeroError $e) {
echo $e->getMessage();
}
?>
आउटपुट
Division by zero
विभाजन ऑपरेटर (/) जिसमें हर 0 होता है, हालांकि एरर उठाने में विफल रहता है, इसके बजाय वार्निंग उठाता है क्योंकि विभाजन का परिणाम PHP कॉन्स्टेंट INF होता है।
उदाहरण 3
<?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
महत्वपूर्ण अंतर: / ऑपरेटर INF लौटाता है और वार्निंग देता है (पकड़ा नहीं जा सकता)। % और intdiv() DivisionByZeroError फेंकते हैं (पकड़ा जा सकता है)।