PHP7부터 Error가 도입되었고 일부 내장 오류가 정의되었습니다. 여기에는 기록으로 간주될 수 있는 정의된 내장 오류 중 일부가 요약되어 있습니다.
ArithmeticError: 수학 연산을 수행하는 동안 오류가 발생할 때 발생하는 오류 하위 클래스입니다. PHP7의 이러한 오류에는 음수 치환 연산을 수행하고 intp()를 호출하여 정수 범위를 벗어난 값이 발생하는 것이 포함됩니다.
AssertionError: 오류 하위 클래스, 어설션을 통해 발행된 어설션이 실패하면 예외가 발생합니다. ini가 zend.assertions 및 Assert.Exception을 1로 설정하고 주장이 활성화된 경우에만 AssertionError 예외가 Assertion() 실행 시 발생하며 false입니다.
ParseError: PHP 코드를 구문 분석하는 동안 오류가 발생하면 예외를 발생시키는 오류 하위 클래스입니다.
TypeError: 함수에 전달된 매개변수 유형이 해당 선언된 매개변수 유형과 일치하지 않고 함수에서 반환된 값이 선언된 함수 반환 유형과 일치하지 않고 잘못된 수의 매개변수가 내장에 전달된 경우 오류 하위 클래스입니다. 엄격 모드에서는 PHP 함수에서 예외가 발생합니다.
pisionByZeroError: ArithmeticError 하위 클래스는 분모가 0이거나 0이 모듈로 연산자(%)로 사용되는 경우 intp()에서 예외를 발생시킵니다. 나누기(/) 연산자에 0을 사용하면 경고만 발생하고 분자가 0이면 결과는 NAN이 되고 분자가 0이 아니면 INF가 됩니다.
ArgumentCountError: PHP7.1부터 TypeError 하위 클래스는 사용자 정의 함수 또는 메서드에 전달된 매개 변수 수가 정의된 매개 변수 수보다 적을 때 예외를 발생시킵니다.
<?php declare(strict_types=1); function foo(string $arg){ return 'test' . $arg;; } function testArithmeticError(){ try { $value = 1 << -1; } catch (ArithmeticError $e) { echo 'show ArithmeticError:'; echo $e->getMessage(); } } function testAssertionError(){ ini_set('zend.assertions', 1); ini_set('assert.exception', 1); try { assert(1>2); } catch (AssertionError $e) { echo 'show AssertionError:'; echo $e->getMessage(); } } function testParseError(){ try { eval('asset(1>2)'); } catch (ParseError $e) { echo 'show ParseError:'; echo $e->getMessage(); } } function testTypeError(){ try { foo(123); } catch (TypeError $e) { echo 'show TypeError:'; echo $e->getMessage(); } } function testpisionByZeroError(){ try{ 1%0; }catch(pisionByZeroError $e){ echo 'show pisionByZeroError:'; echo $e->getMessage(); } } function testArgumentCountError(){ try{ foo(); }catch(ArgumentCountError $e){ echo 'show ArgumentCountError:'; echo $e->getMessage(); } } //foo("ArithmeticError")(); //foo("AssertionError")(); //foo("ParseError")(); //foo("TypeError")(); //foo("pisionByZeroError")(); //foo("ArgumentCountError")(); ?>
관련 권장 사항:
PHP의 오류 수준, PHP 오류 수준_PHP 튜토리얼
위 내용은 PHP에 정의된 일부 내장 오류의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!