버전 7 이전에는 PHP 파서가 다양한 조건에 대한 응답으로 오류를 보고하는 데 사용되었습니다. 각 오류는 미리 정의된 특정 유형이었습니다. PHP7은 오류 보고 메커니즘을 변경합니다. 이제 대부분의 오류는 기존 오류 보고 대신 오류 예외를 발생시켜 보고됩니다.
오류 예외가 처리되지 않으면 치명적인 오류가 보고되고 기존 오류 조건처럼 처리됩니다. PHP의 오류 계층 구조는 Throwable 인터페이스로 시작됩니다. ArithmeticError, AssertionError, CompileError 및 TypeError와 같은 모든 사전 정의된 오류는 Throwable iterface를 구현하는 클래스입니다. PHP 7의 예외는 Throwable 인터페이스도 구현합니다.
Throwable 인터페이스는 Error 및 Exception > 개체를 포함하여 throw 문을 통해 발생할 수 있는 모든 개체의 기반 역할을 합니다. 사용자 정의 클래스는 Throwable 인터페이스를 직접 구현할 수 없습니다. 대신 사용자 정의 예외 클래스를 선언하려면 Exception 클래스를 확장해야 합니다.
PHP의 예외 처리는 throw 및 catch로 구성됩니다. Strong>, try 문을 사용하세요. 예외 개체를 발생시키려면 throw 키워드를 사용해야 합니다. 던져진 예외는 catch 블록에 의해 처리됩니다. 잠재적으로 취약한 PHP 코드는 try 블록 내에 포함되어 있습니다.
Exception 클래스의 다양한 인스턴스를 포착하기 위한 하나 이상의 catch 블록이 있을 수 있습니다. try 블록에서 예외가 발생하지 않으면 마지막 catch 블록 이후에 정상적인 실행이 계속됩니다. 그러나 try 블록 내에서 예외가 발생하면 PHP는 중첩된 문을 실행하는 대신 처리할 예외 유형과 일치하는 catch 블록을 찾으려고 시도합니다. 일치하는 catch 블록이 정의되지 않은 경우 PHP 파서는 잡히지 않은 예외 메시지와 함께 치명적인 오류를 보고합니다.
캐치 블록 뒤나 대신에 finally Strong>을 제공할 수도 있습니다. try 블록 내에서 예외가 발생하는지 여부에 관계없이 finally 블록의 코드가 실행됩니다.
위 내용은 PHP7의 PHP 오류의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!