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를 반환해야 합니다. |