//define('ENVIRONMENT', isset($_SERVER['CI_ENV']) ? $_SERVER['CI_ENV'] : 'development');    //define('ENVIRONMENT', isset($_SERVER['CI_ENV']) ? $_SERVER['CI_ENV'] : 'testing');    define('ENVIRONMENT', isset($_SERVER['CI_ENV']) ? $_SERVER['CI_ENV'] : 'production');There are two ways to catch error in our controller:
1. Using dblib
        $this->load->dbutil();        if ($this->dbutil->database_exists('myca')) {            // Connection ok        } else {            // Connection fail        }2. Checking error in db
        $this->load->database();        $errhandle = $this->db->error();        if ($errhandle['code']==0) {            // Connection ok        } else {            // Connection fail            // to dump error code var_dump( $this->db->error());         }Tested on PHP 7.2 and Codigniter 3.1.10
