Home > Article > Backend Development > PHP errors in PHP7
Prior to version 7, the PHP parser was used to report errors in response to various conditions. Each error used to be of a specific predefined type. PHP7 changes the error reporting mechanism. Now, most errors are reported by throwing error exceptions instead of traditional error reporting.
If the error exception is not handled, a fatal error will be reported and will be handled like a traditional error condition. PHP's error hierarchy starts with the Throwable interface. All predefined errors such as ArithmeticError, AssertionError, CompileError and TypeError are classes that implement Throwable iterface. Exception in PHP 7 also implements the Throwable interface.
The Throwable interface serves as the basis for any object that can be thrown via a throw statement, including Error and Exception > objects. User-defined classes cannot directly implement the Throwable interface. Instead, to declare a user-defined exception class, it must extend the Exception class.
PHP’s exception handling consists of throw and catch. strong>, try statements. To throw an exception object, use the throw keyword. The thrown exception is handled by the catch block. PHP code that may be vulnerable to exceptions is contained in try blocks.
There may be one or more catch blocks to catch different instances of the Exception class. When no exception occurs in the try block, normal execution will continue after the last catch block. However, when an exception is thrown within a try block, PHP attempts to find a catch block that matches the type of exception to be handled, rather than executing the nested statement. If no matching catch block is defined, the PHP parser will report a fatal error with an uncaught exception message.
You can also provide finally strong> after or in place of the catch block. Regardless of whether an exception occurs within the try block, the code in the finally block will be executed.
The above is the detailed content of PHP errors in PHP7. For more information, please follow other related articles on the PHP Chinese website!