if (! file_exists ( "/tmp/test.txt" )) { die ( "Không tìm thấy file!" ); } else { $file = fopen ( "/tmp/test.txt" , "r" ); print "Mở file thành công" ; } // Phần code chính của chương trình. ?>
In this way, you can write an effective code. Using the die () function, you can stop the program whenever an error occurs and display a more friendly and meaningful message to the user.
You can write your own function to handle errors arising in your program. PHP provides you with a framework for defining error handling functions.
This function must be able to manipulate at least two parameters (error level and error message), but up to 5 parameters (optional: file, line-number, and error context):
Syntax
error_function (error_level, error_message, error_file, error_line, error_context);
The following table details the above parameters:
Parameter Descriptionerror_level Required - Defines the error level for the self-defined error (user-defined). Must be a numeric value. error_message Required - Define error messages for self-defined errors. error_file Optional - Define the file name where the error occurred. error_line Optional - Defines the number of lines where the error occurred. error_context Options - Define an array containing all their variables and values, use when an error occurs.Possible error levels in PHP
These error levels are different types of errors. These values can be used in combination by using the operator.
ValueNumberDescription1 E_ERROR Error at critical run time (Fatal run-time error). Critical errors and script execution are stopped. 2 E_WARNING Error at runtime but not serious (Non-fatal run-time error). The errors are not serious and the script execution is not stopped. 4 E_PARSE Error parsing while compiling (Compile-time parse error). These syntax errors should only be created by the parser. 8 E_NOTICE Run-time notice. The script finds something that might be an error, but it can also happen when running a script normally. 16 E_CORE_ERROR Critical errors occurred during the initial launch of PHP. 32 E_CORE_WARNING Critical errors occur during the initial launch of PHP. 256 E_USER_ERROR A serious user-generated error. It is the same as the E_ERROR error set by the programmer using the trigger_error () function in PHP. 512 E_USER_WARNING A non-serious user-generated error. It is the same as the E_WARNING error set by the programmer using PHP's trigger_error () function. 1024 E_USER_NOTICE Notice created by the user. It is like an E_NOTICE set by the programmer with the function trigger_error () in PHP. 2048 E_STRICT Notice while running. Allows HPH to propose changes to the code, to ensure the best interoperability and compatibility for the code. 4096 E_RECOVERABLE_ERROR Critical error can be captured. Same as an E_ERROR but can be captured by the self-defined error handler (refer to set_error_handler ()). 8191 E_ALL All errors and warnings, except E_STRICT (E_STRICT will be part of E_ALL since PHP 6.0).All of the above error levels can be set using the following function library available in PHP, with the level can be any value defined in the table above.
error_reporting int ([$ int level])
Here's how you can create an error handling function in PHP:
";
echo "Stop PHP Script";
die ();
}
?>
Once the error handler has been defined, you will use the set_error_handler function available in PHP to set it up. Now check the above example by calling a function that does not exist.
php error_reporting ( E_ERROR ); function handleError ( $errno , $errstr , $error_file , $error_line ) { echo " Xảy ra lỗi: [$errno] $errstr - $error_file:$error_line" ; echo "
" ; echo "Dừng PHP Script" ; die (); } //thiết lập trình xử lý lỗi set_error_handler ( "handleError" ); //code chạy khi lỗi xảy ra (trigger error) myFunction (); ?>
PHP 5 has an Exception Model (Exception Model) similar to other programming languages. Exceptions are important and provide better control over error handling
Below explains some keywords related to exception in PHP:
When an exception is "thrown", the code following that command will not be executed, and PHP will try to find the first matching block. If an exception is not "catch", a Fatal Error in PHP will be notified with the "Uncaught Exception ." introduction.
For example
Below is a code, you copy and paste this code into a file and check the results:
php try { $error = 'Luôn quăng ra lỗi này' ; throw new Exception ( $error ); // Phần code theo sau một ngoại lệ sẽ không được thực thi. echo 'Phần code không bao giờ được thực thi' ; } catch ( Exception $e ) { echo 'Bắt một exception: ' , $e -> getMessage (), "n" ; } // Tiếp tục thực thi echo 'Xin chào!' ; ?>
In the above example, the function $ e-> getMessage is used to get the error message. Here are some functions that can be used from the Exception class in PHP.
Create Custom Exception Handler in PHP
You can define the Exception Handler yourself. Use the following functions to set up a self-defined exception handler function.
string set_exception_handler ($ exception_handler callback)
Here, exception_handler is the function name called when an uncaught exception appears. This function must be defined before calling the set_exception_handler () function.
For example
Follow tutorialspoint
Previous lesson: Regular Expression in PHP
Next lesson: Bug and Debug in PHP