परिचय
ArithmeticError क्लास Error क्लास से इनहेरिट होती है। इस प्रकार की त्रुटि कुछ गणितीय ऑपरेशन करते समय हो सकती है। एक ऐसा परिदृश्य नकारात्मक मात्रा द्वारा बिटवाइज़ शिफ्ट ऑपरेशन करने का प्रयास है। यह त्रुटि तब भी फेंकी जाती है जब intdiv() फ़ंक्शन का कॉल ऐसे मान में परिणाम देता है जो पूर्णांक की वैध सीमाओं से परे है।
ArithmeticError उदाहरण
निम्न उदाहरण में, नकारात्मक ऑपरेंड के साथ बाइनरी शिफ्ट ऑपरेटर का उपयोग करने का प्रयास किया जाता है। इसका परिणाम ArithmeticError होता है।
उदाहरण 1
<?php
try {
$a = 10;
$b = -3;
$result = $a << $b;
} catch (ArithmeticError $e) {
echo $e->getMessage();
}
?>
आउटपुट
Bit shift by negative number
यदि intdiv() फ़ंक्शन के कॉल का परिणाम अमान्य पूर्णांक होता है, तो ArithmeticError फेंका जाता है। जैसा कि नीचे दिए गए उदाहरण में दिखाया गया है, PHP में न्यूनतम अनुमत पूर्णांक (PHP_INT_MIN) को -1 से विभाजित नहीं किया जा सकता।
उदाहरण 2
<?php
try {
$a = PHP_INT_MIN;
$b = -1;
$result = intdiv($a, $b);
echo $result;
} catch (ArithmeticError $e) {
echo $e->getMessage();
}
?>
आउटपुट
Division of PHP_INT_MIN by -1 is not an integer
विरासत: Error → ArithmeticError → DivisionByZeroError
अन्य मामले: intdiv(PHP_INT_MIN, -1) के अलावा, 1 << -1, 1 >> -1 भी ArithmeticError फेंकते हैं।