PHP의 Exception 클래스는 Throwable 인터페이스를 구현합니다. ErrorException 클래스는 Exception 클래스를 상속합니다. 알림이나 경고와 같이 무시되는 오류를 포착하고 처리하려는 경우 ErrorException을 명시적으로 throw할 수 있습니다.
PHP Core에는 다음과 같은 사전 정의된 오류 상수가 포함되어 있습니다.
Value | Constant | Description |
---|---|---|
1 | E_ERROR | 치명적인 런타임 오류입니다. |
2 | E_WARNING | 런타임 경고(치명적이지 않은 오류). |
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
예외의 심각도는 위 표의 오류 유형과 관련된 정수로 표시됩니다.
아래 스크립트에서 사용자 정의 함수 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
위 내용은 PHP ErrorException(PHP 오류 예외)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!