Computer >> 컴퓨터 >  >> 프로그램 작성 >> PHP

PHP 산술 오류

<시간/>

소개

산술 오류 클래스는 오류에서 상속됨 수업. 이러한 유형의 오류는 특정 수학 연산을 수행하는 동안 발생할 수 있습니다. 그러한 시나리오 중 하나는 음수만큼 비트 시프트 연산을 수행하려는 시도입니다. 이 오류는 intdiv()를 호출할 때도 발생합니다. 함수는 정수의 합법적인 경계를 넘어서는 값을 생성합니다.

산술 오류 예

다음 예에서는 음수 피연산자와 함께 이진 시프트 연산자를 사용하려고 합니다. 그 결과 ArithmeticError가 발생합니다.

예시

<?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로 나눌 수 없습니다.

예시

<?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