PHP set_error_handler() 함수

예제

set_error_handler() 함수를 통해 사용자 정의 오류 처리 프로그램을 설정하고, 오류를 트리거합니다(trigger_error()를 통해):

<?php
 // 사용자 정의 오류 처리 함수
 function myErrorHandler($errno, $errstr, $errfile, $errline) {
     echo "<b>사용자 정의 오류:</b> [$errno] $errstr<br>";
     echo " 오류 라인 $errline에서 $errfile에 오류<br>";
 }
 // 설정 사용자 정의 오류 처리 함수
 set_error_handler("myErrorHandler");
 $test=2;
 // 오류 발생
 if ($test>1) {
     trigger_error("A custom error has been triggered");
 }
 ?> 

위 코드의 출력은 다음과 같습니다:

사용자 정의 오류: [1024] 사용자 정의 오류가 발생했습니다
 C:\webfolder\test.php에 14行之 오류

정의 및 사용법

set_error_handler() 함수는 사용자 정의 오류 처리 함수를 설정합니다.

주석:이 함수를 사용하면 표준 PHP 오류 처리 프로그램을 건너뛰고 필요할 때 사용자 정의 오류 프로그램을 통해 die()를 통해 스크립트를 종료할 수 있습니다.

주석:오류가 스크립트 실행 전에 발생하면(예: 파일 업로드 시), 사용자 정의 오류 처리 프로그램이 호출되지 않습니다. 왜냐하면 그때까지 등록되지 않았기 때문입니다.

문법

set_error_handler(errorhandler,E_ALL|E_STRICT);
매개변수 설명
errorhandler 필수. 사용자 정의 오류 처리 함수의 이름을 지정합니다.
E_ALL|E_STRICT 선택 사항. 사용자 정의 오류를 표시할 오류 보고 수준을 지정합니다. 기본적으로는 "E_ALL"입니다.

기술 세부 사항

반환 값: 이전에 정의된 오류 처리 프로그램을 포함한 문자열.
PHP 버전: 4.0.1+
PHP 업데이트 로그:

PHP 5.5: 매개변수 errorhandler 지금 NULL을 받아들입니다

PHP 5.2: 오류 처리 프로그램은 $php_errormsg를 표시하기 위해 FALSE를 반환해야 합니다.