set_exception_handler
(PHP 5, PHP 7, PHP 8)
set_exception_handler - 사용자 정의 예외 처리기 함수를 설정합니다.
설명
set_exception_handler(?callable $callback
): string|array|object|null
try/catch 블록 내에서 예외가 catch되지 않으면 기본 예외 처리기를 설정합니다. callback
이 호출된 후 실행이 중지됩니다.
매개변수
callback
- 잡히지 않은 예외가 발생할 때 호출되는 함수의 이름입니다. 이 핸들러 함수는 던져진 예외 객체가 될 하나의 매개변수를 받아들여야 합니다. 이것은 PHP 7 이전의 핸들러 서명입니다.
handler(Exception
$ex
): voidPHP 7 이후로 대부분의 오류는 Error 예외를 throw하여 보고되며 이는 핸들러에서도 포착됩니다. Error와 Exception은 모두 Throwable 인터페이스를 구현합니다. 이것은 PHP 7 이후의 핸들러 서명입니다.
handler(Throwable
$ex
): void이 핸들러를 기본 상태로 재설정하기 위해 대신
null
을 전달할 수 있습니다.
반환 값
이전에 정의된 예외 처리기를 반환하거나 오류가 발생하면 null을 반환합니다. 이전 처리기가 정의되지 않은 경우 null도 반환됩니다.
Examples
예제 #1 set_exception_handler() 예제
<?php
function exception_handler($exception) {
echo "Uncaught exception: " , $exception->getMessage(), "\n";
}
set_exception_handler('exception_handler');
throw new Exception('Uncaught Exception');
echo "Not Executed\n";
?>
기타
- restore_exception_handler() - 이전에 정의한 예외 처리기 함수를 복원합니다.
- restore_error_handler() - 이전 오류 처리기 함수를 복원합니다.
- error_reporting() - 보고되는 PHP 오류를 설정합니다.
- PHP 5 Exceptions