PHP 7의 오류

PHP 7은 PHP에서 대부분의 오류를 보고하는 방식을 변경합니다. PHP 5에서 사용되는 기존의 오류 보고 메커니즘을 통해 오류를 보고하는 대신 이제 대부분의 오류는 Error 예외를 throw하여 보고됩니다.

일반 예외와 마찬가지로 이러한 Error 예외는 일치하는 첫 번째 catch 블록에 도달할 때까지 버블링됩니다. 일치하는 블록이 없으면 set_exception_handler()로 설치된 기본 예외 핸들러가 호출되고 기본 예외 핸들러가 없으면 예외가 치명적인 오류로 변환되어 기존 오류처럼 처리됩니다.

Error 계층 구조는 예외에서 상속되지 않으므로 PHP 5에서 catch (Exception $e) { ... } 블록을 사용하여 catch되지 않은 예외를 처리하는 코드는 이러한 Error가 이러한 블록에 의해 catch되지 않는다는 것을 알게 됩니다. catch (Error $e) { ... } 블록 또는 set_exception_handler() 핸들러가 필요합니다.


오류 계층