Lokang 

PHP and MySQL

exception

The code is an example of error handling using the try and catch statements in PHP. It attempts to connect to a MySQL database using the PHP Data Objects (PDO) extension but with wrong credentials.

The try block contains the code that may throw an exception, in this case, the code is trying to connect to the database but with a wrong password. If an exception is thrown, the code in the catch block will be executed.

The catch block receives an exception object as its parameter, in this case, it's $e which is an instance of the Exception class. It then uses the getMessage() method of the exception object to get the error message and echo it.

In this case, the script will throw an exception when the PDO object is created because the provided password is wrong. The catch block will catch this exception and the message "Caught exception: SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using password: YES)" will be displayed.

Using try-catch blocks allows you to handle errors in a specific way, in this case, it is to display the error message. It also allows you to separate the error-prone code from the error-handling code, making it more readable and maintainable.

 

<?php
// We can also handle errors by using the try and catch statements
// this is useful when you want to handle errors in a different way
// trigger error on false require
// this works usually with oop functions

try {
    // connect to database pdo with the WRONG password
    $dsn = 'mysql:host=localhost;dbname=php';
    $user = 'root';
    $pass = 'wrongpassword';

    $con = new PDO($dsn, $user, $pass);
} catch (Exception $e) {
    echo 'Caught exception: '. $e->getMessage();
}