함수 set_error_handler
함수 set_error_handler는 사용자 정의 오류 핸들러를 설정합니다.
첫 번째 매개변수로는 오류 발생 시 호출될 콜백 함수를 전달합니다.
두 번째 선택적 매개변수로는 핸들러가 가로챌 오류 유형을 지정할 수 있습니다.
구문
set_error_handler(callable $error_handler, int $error_types = E_ALL | E_STRICT);
예제
사용자 정의 오류 핸들러의 간단한 예:
<?php
function customError($errno, $errstr, $errfile, $errline) {
echo "Error [$errno]: $errstr in $errfile on line $errline";
}
set_error_handler("customError");
echo $undefinedVar;
?>
코드 실행 결과:
Error [8]: Undefined variable: undefinedVar in /path/to/file.php on line 7
예제
특정 유형의 오류만 처리하기:
<?php
function warningHandler($errno, $errstr) {
if ($errno === E_WARNING) {
echo "Warning captured: $errstr";
}
}
set_error_handler("warningHandler", E_WARNING);
strpos(); // 경고를 발생시킴
?>
코드 실행 결과:
Warning captured: strpos() expects at least 2 parameters, 0 given
예제
기본 오류 핸들러로 되돌리기:
<?php
set_error_handler(null); // 기본 핸들러로 복원
?>