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

PHP7의 PHP 오류

<시간/>

소개

버전 7 이전에는 PHP 파서가 다양한 조건에 대한 응답으로 오류를 보고하는 데 사용되었습니다. 각 오류는 미리 정의된 특정 유형이었습니다. PHP7은 오류 보고 메커니즘을 변경했습니다. 기존의 오류 보고 대신 이제 대부분의 오류가 오류 예외를 발생시켜 보고됩니다.

오류 예외가 처리되지 않으면 치명적인 오류가 보고되고 기존 오류 조건처럼 처리됩니다. PHP의 오류 계층은 Throwable에서 시작합니다. 상호 작용. ArithmeticError와 같은 사전 정의된 모든 오류 , 어설션 오류 , 컴파일 오류TypeError Throwable 인터페이스를 구현하는 클래스입니다. PHP 7의 예외는 또한 Throwable 인터페이스를 구현합니다.

throw 가능한 인터페이스는 Error를 포함하여 throw 문을 통해 throw될 수 있는 모든 개체의 기반 역할을 합니다. 및 예외 사물. 사용자 정의 클래스는 Throwable 인터페이스를 직접 구현할 수 없습니다. 대신 사용자 정의 예외 클래스를 선언하려면 Exception을 확장해야 합니다. 수업.

PHP의 예외 처리는 throw로 구성됩니다. , 잡다 , 시도 진술. 예외 객체를 발생시키기 위해 throw가 있습니다. 예어. throw된 예외는 catch에 의해 처리됩니다. 차단하다. 예외에 취약할 수 있는 PHP 코드는 try로 묶입니다. 차단합니다.

예외 클래스의 다른 인스턴스를 포착하기 위해 하나 이상의 catch 블록이 있을 수 있습니다. try 블록에서 예외가 발생하지 않으면 마지막 catch 블록 이후에 정상 실행이 계속됩니다. 그러나 try 블록 내에서 예외가 발생하면 Nest 문이 실행되는 대신 PHP는 처리할 예외 유형과 일치하는 catch 블록을 찾습니다. 일치하는 catch 블록이 정의되지 않은 경우 PHP 파서는 치명적인 오류를 보고합니다. 잡히지 않은 예외 포함 메시지.

다음을 제공할 수도 있습니다. 마지막으로 catch 블록 뒤 또는 대신에 차단합니다. finally 블록의 코드는 try 블록 내에서 예외가 발생하는지 여부에 관계없이 항상 실행됩니다.