Computer >> Máy Tính >  >> Lập trình >> PHP

PHP ArithmeticError

Giới thiệu

ArithmeticError lớp được kế thừa từ Lỗi lớp. Loại lỗi này có thể xảy ra khi thực hiện một số hoạt động toán học nhất định. Một trong những tình huống như vậy là cố gắng thực hiện hoạt động dịch chuyển bit theo số âm. Lỗi này cũng xảy ra khi gọi đến intdiv () hàm dẫn đến giá trị sao cho nó nằm ngoài ranh giới hợp pháp của số nguyên.

Ví dụ về ArithmeticError

Trong ví dụ sau, một nỗ lực được thực hiện để sử dụng toán tử dịch chuyển nhị phân với toán hạng âm. Điều này dẫn đến ArithmeticError.

Ví dụ

<?php
try {
   $a = 10;
   $b = -3;
   $result = $a << $b;
}
catch (ArithmeticError $e) {
   echo $e->getMessage();
}
?>

Đầu ra

Điều này sẽ tạo ra kết quả sau -

Bit shift by negative number

Nếu gọi đến intdiv () hàm kết quả là số nguyên không hợp lệ, ArithmeticError được ném ra. Như được hiển thị trong ví dụ bên dưới, số nguyên tối thiểu được phép trong PHP ( PHP_INT_MIN ) không thể chia hết cho -1

Ví dụ

<?php
try {
   $a = PHP_INT_MIN;
   $b = -1;
   $result = intdiv($a, $b);
   echo $result;
}
catch (ArithmeticError $e) {
   echo $e->getMessage();
}
?>

Đầu ra

Điều này sẽ tạo ra kết quả sau -

Division of PHP_INT_MIN by -1 is not an integer