Error handling in PHP - GeeksforGeeks

21 Nov, 2021
Prerequisite: Types of Error PHP is used for web development. Error handling in PHP is almost similar to error handling in all programming languages. The default error handling in PHP will give file name line number and error type. 
Ways to handle PHP Errors:  
Using die() method
Custom Error Handling
Basic error handling: Using die() function The die() function print a message and exit from current script.Syntax:  
die( $message )
Example:  
php
<?php // Php code showing default error handling $file = fopen("geeks.txt", "w");?>
Note: Run the above code and geeks.txt file is not present then it will display an run-time error message. Runtime Error: 
 PHP Warning: fopen(geeks.txt): failed to open stream: Permission denied 
in /home/dac923dff0a2558b37ba742613273073.php on line 2
To prevent this error use die() function. Below is the implementation of die() function:Example:  
php
<?php // PHP code to check errors // If file is not present// then exit from scriptif( !file_exists("geeks.txt") ) {    die("File is not present");} // If file is present// then continueelse {    $file = fopen("geeks.txt", "w");}?>
Note: If geeks.txt file not present then it will display output. Output 
File is not present
Custom Error handling: Creating a custom error handler in PHP is quite simple. Create a function that can be called when a error has been occurred in PHP.Syntax:  
error_function( $error_level, $error_message, $error_file, $error_line, $error_context)
Parameters: This function accepts five parameters as mentioned above and described below:  
$error_level: It is required parameter and it must be an integer. There are predefined error levels.
$error_message: It is required parameter and it is the message which user want to print.
$error_file: It is optional parameter and used to specify the file in which error has been occurred.
$error_line: It is optional parameter and used to specify the line number in which error has been occurred.
$error_context: It is optional parameter and used to specify an array containing every variable and their value when error has been occurred.
error_level: These are the possible error level which are listed below: 
1 : .E_ERROR :fatal runtime error execution of script has been halted
2 : E_WARNING :non fatal runtime error execution of script has been halted
4 : E_PARSE :compile time error it is generated by the parser
8 :E_NOTICE :The script found something that might be an error
16 :E_CORE_ERROR :Fatal errors that occurred during initial startup of script
32 :E_CORE_WARNING :Non fatal errors that occurred during initial startup of script
8191 :E_ALL :All errors and warning
set_error_handler() Function: After creating myerror() function need to set custom error handler because in normal way PHP handles it but if user doing custom error handling then user have to set it in place of argument and pass out myerror function as a string.Example: 
php
<?php // Creates my error function which prints message//to userfunction myerror($error_no, $error_msg) {    echo "Error: [$error_no] $error_msg ";    echo "\n Now Script will end";         // When error occurred script has to be stopped    die();} // Setting set_error_handlerset_error_handler("myerror"); $a = 10;$b = 0; // This will generate errorecho($a / $b);;?>
Output: 
Error: [2] Division by zero 
 Now Script will end
Conclusion: It is always try to error handling using Custom error handling because it will show more specified message according to the user that can be helpful to the user. If error is not handle using Custom error handling then a error occurred then out script will be halted by default but if it handle error using Custom error handling then it can continue script after displaying error message.
Akanksha_Rai
varshagumber28
PHP-basics
PHP
PHP Programs
Web Technologies
PHP
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Comments
Old Comments
How to Insert Form Data into Database using PHP ?
How to execute PHP code using command line ?
How to pop an alert message box using PHP ?
PHP in_array() Function
How to convert array to string in PHP ?
How to Insert Form Data into Database using PHP ?
How to execute PHP code using command line ?
How to pop an alert message box using PHP ?
How to convert array to string in PHP ?
How to delete an array element based on key in PHP?