Computer >> 컴퓨터 >  >> 프로그램 작성 >> PHP

PHP 오류 예외

<시간/>

소개

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