PHP에서 0으로 나누기 오류 처리
eval을 사용하여 동적 수학 표현식을 평가할 때 0으로 나누기 오류에 대한 예외 처리를 보장하는 것이 중요합니다. 제공된 예는 기존의 try-catch 블록이 이러한 오류를 차단하지 않음을 보여줍니다.
PHP7 이상의 솔루션
PHP7 이상에서는 DivisionByZeroError 예외 클래스가 0으로 나누기 오류를 잡기 위해 특별히 도입되었습니다. 구현 방법은 다음과 같습니다.
try { $result = eval($expression); } catch (DivisionByZeroError $e) { $result = 0; }
PHP7 이하에 대한 사용자 정의 오류 처리
PHP 7 미만 버전을 지원해야 하는 경우 사용자 정의 오류 처리기는 다음과 같습니다. 0으로 나누기 오류를 차단하는 데 사용됩니다. 이 핸들러는 이러한 오류를 발견된 예외로 변환할 수 있습니다.
function custom_error_handler($errno, $errstr) { if ($errno === E_DIVISION_BY_ZERO) { throw new Exception('Division by zero'); } }
식을 평가하기 전에 사용자 정의 오류 핸들러를 등록해야 합니다.
set_error_handler('custom_error_handler'); $result = eval($expression); restore_error_handler();
위 내용은 PHP에서 0으로 나누기 오류를 어떻게 처리할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!