Home  >  Article  >  Backend Development  >  Use PHP custom error handler to handle error information_PHP tutorial

Use PHP custom error handler to handle error information_PHP tutorial

WBOY
WBOYOriginal
2016-07-13 10:52:581099browse

If you are a PHP veteran, of course you know what happens when a PHP script fails. At this time, the PHP parser will give an error message on the screen, such as Fatal error: Call to undefined function on line 19 --, so the program terminates here. This information will scare the customer, who may immediately call you for a consultation.

Fortunately, there is a solution. PHP has built-in tools that allow developers to catch script errors and route them to custom error handlers. At this point, the processor can be programmed to display more specific information about the error. Errors can also be written to a file or database for remedial action. It is also sometimes possible to program the processor to ignore error messages.

In this article, I will explain how to use PHP's error handling API to build a user-defined error handler, and explain how to display and manage script error information in a simple and friendly way.

Error types and reporting levels

Let's start with the basics. PHP has three most basic error types, from low-level to high-level: attention, warning and error (or fatal error). Normally, cautions and warnings do not terminate the program; but fatal errors are dangerous failures (for example, calling an undefined function or referencing a non-existent object) that will cause the program to interrupt. These errors may occur during startup, parsing, compilation, or runtime.

Keywords such as E_NOTICE, E_ERROR, etc. are used to indicate different types and levels of errors. A detailed list of them can be found in the PHP manual.

Error display in the script stage is controlled by the error_reporting() function. This function sets different parameters for different error levels. Table A shows a script that uses this function to report warnings and fatal errors.

Table A

// display warnings and errors
error_reporting(E_WARNING | E_ERROR);
// this will generate a notice, which will never be displayed
echo $undefinedVar;
// this will generate a fatal error, which will be displayed
callUndefFunc();
?>

Comparing the code in List B with the code above, we found that Listing B hides error messages and even fatal messages so that the error messages will not be displayed.

Table B

// turn off error display
// no errors will be displayed
error_reporting(0);
// this will generate a notice
echo $undefinedVar;
// this will generate a fatal error
callUndefFunc();
?>

The code in Table C displays all error messages and even simple notices:

Table C

// all errors will be displayed
error_reporting(E_ALL);
// this will generate a notice
echo $undefinedVar;
// this will generate a fatal error
callUndefFunc();
?>

As shown in the above three examples, the error_reporting() function is very important in controlling the content displayed on the screen when an error occurs. The key word here is displayed, which means that the error is not displayed rather than that the error does not occur. Therefore, when a fatal error occurs (such as an incorrect function call), the program is terminated; however, no message is displayed to the user at this time.

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/632440.htmlTechArticleIf you are a PHP veteran, of course you know what happens when a PHP script goes wrong. At this time, the PHP parser will give an error message on the screen, such as Fatal error: Call to undefined function o...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn