In PHP development, error and exception handling is an essential skill to ensure application stability. Proper management of errors and exceptions prevents program crashes and provides clear feedback.
Errors are typically caused by syntax or logic issues, rather than unexpected events. When an error occurs, PHP generates an error message and may terminate script execution.
Developers can use error_reporting() to set the types of errors to report and set_error_handler() to define a custom error handler function.
error_reporting(E_ALL); // Report all types of errors
function error_handler($errno, $errstr, $errfile, $errline) {
// Custom error handling logic
echo "Error: $errstr in $errfile on line $errline";
}
set_error_handler('error_handler');
Exceptions are special events that may occur during program execution, such as accessing a non-existent file or database error. Unlike errors, exceptions do not immediately terminate the program.
The try-catch structure is used to catch exceptions. The try block contains code that may throw exceptions, while the catch block handles the exception.
try {
// Code that may throw an exception
throw new Exception('Error occurred');
} catch (Exception $e) {
// Exception handling logic
echo "Exception: " . $e->getMessage();
}
The following example demonstrates how to handle a failed database connection using exceptions:
try {
$conn = new PDO('mysql:host=localhost;dbname=mydb', 'root', 'password');
// Execute queries or other database operations
} catch (PDOException $e) {
echo "Database connection failed: " . $e->getMessage();
}
By using exception handling, applications can gracefully manage database connection failures and provide meaningful feedback to users.