소개
PHP의 Exception 클래스는 Throwable을 구현합니다. 상호 작용. 오류 예외 클래스는 예외를 확장합니다. 수업. ErrorException은 알림 또는 경고와 같이 무시될 오류를 포착하고 처리하려는 경우 명시적으로 발생하도록 되어 있습니다.
PHP 코어는 다음과 같은 사전 정의된 오류 상수로 구성됩니다.
값 | 상수 | 설명 |
---|---|---|
1 | E_ERROR | 치명적인 런타임 오류. |
2 | E_경고 | 런타임 경고(치명적이지 않은 오류). |
4 | E_PARSE | 컴파일 타임 구문 분석 오류. |
8 | E_NOTICE | 런타임 알림. |
16 | E_CORE_ERROR | PHP 초기 시작 시 발생하는 치명적인 오류 |
32 | E_CORE_WARNING | PHP의 초기 시작 중에 발생하는 경고(치명적이지 않은 오류). |
64 | E_COMPILE_ERROR | 치명적인 컴파일 시간 오류. |
128 | E_COMPILE_WARNING | 컴파일 시간 경고(치명적이지 않은 오류). |
256 | E_USER_ERROR | 사용자 생성 오류 메시지. |
512 | E_USER_WARNING | 사용자 생성 경고 메시지. |
1024 | E_USER_NOTICE | 사용자 생성 알림 메시지. |
2048 | E_STRICT | 활성화된 경우 PHP는 코드의 상호 운용성과 향후 호환성을 보장하기 위해 코드 변경을 제안합니다. |
4096 | E_RECOVERABLE_ERROR | 잡을 수 있는 치명적인 오류입니다. |
8192 | E_DEPRECATED | 런타임 알림. |
16384 | E_USER_DEPRECATED | 사용자 생성 경고 메시지. |
32767 | E_ALL | 모든 오류 및 경고, E_STRICT |
Exception 클래스에서 상속된 속성 및 메서드 외에도 ErrorException 클래스는 다음과 같이 하나의 속성과 하나의 메서드를 도입합니다. -
protected int severity ; final public getSeverity ( void ) : int
예외의 심각도는 위 표의 오류 유형과 관련된 정수로 표시됩니다.
ErrorException 예
다음 스크립트에서 사용자 정의 함수 errhandler set_error_handler()를 사용하여 오류 처리기로 설정됩니다. 기능. 읽을 파일을 찾을 수 없는 경우 치명적인 오류가 발생하면 ErrorException이 발생합니다.
예시
<?php function errhandler($severity, $message, $file, $line) { if (!(error_reporting() & $severity)) { echo "no error"; return; } throw new ErrorException("Fatal Error:No such file or directory", 0, E_ERROR); } set_error_handler("errhandler"); /* Trigger exception */ try{ $data=file_get_contents("nofile.php"); echo $data; } catch (ErrorException $e){ echo $e->getMessage(); } ?>
위의 예는 다음 출력을 표시합니다.
출력
Fatal Error:No such file or directory