내부 함수에서 에러를 report할 때는 php3_error()함수를 사용하는 것이 좋다. 이 함수는 최소 두개의 인수를 가지고 호출된다. 첫번째는 에러의 level이고, 다른 하나는 에러 메세지를 위한 format string( printf()에서 사용되는 것과 같은 형태) 이다. 그리고 그 나머지는 주어진 format string의 parameter가 된다. 에러 level은 다음과 같다:
Notice는 기본적으로는 출력되지 않는다. 이것은 스크립트가 뭔가 에러를 감지했지만, 그것이 정상적인 상황에서 발생하는 것이라는 의미이다. 예를들어 설정되지 않은 변수를 사용하려 했거나, 존재하지 않는 파일에 stat()함수를 호출하는 것 등이다.
Warning은 기본적으로 출력된다. 그러나, 스크립트의 실행을 멈추지는 않는다. 이것은 호출이 완료되기 전에 스크립트에 의해 잡혀져야 하는 문제를 가리킨다. 예를들어 잘못된 regular expression으로 ereg()를 호출하는 것 등이다.
Error도 기본적으로 출력된다. 그리고, 함수의 실행이 완료된 직후, 스크립트의 실행을 멈춘다. 이것은 memory allocation 문제같은 복구가 불가능한 에러를 의미한다
이것은 E_ERROR이랑 비슷하다. 예외적으로 PHP 함수trigger_error()를 이요하는 PHP코드에 의해 발생한다. 함수는 이 에러의 타입을 발생하지 않는다.
이것은 E_WARNING이랑 비슷하다. 예외적으로 PHP 함수trigger_error()를 이요하는 PHP코드에 의해 발생한다. 함수는 이 에러의 타입을 발생하지 않는다.
이것은 E_NOTICE랑 비슷하다. 예외적으로 PHP 함수trigger_error()를 이요하는 PHP코드에 의해 발생한다. 함수는 이 에러의 타입을 발생하지 않는다.