try/catch does not work for me, what I do wrong...
PDOException in Connector.php line 55: SQLSTATE[42000] [1049] Unknown database 'test'
try
{
DB::connection()->getDatabaseName();
//self::$instance = new static();
self::$r = \Illuminate\Database\Eloquent\Model::getConnectionResolver();
$settings = array(
'driver' => 'mysql',
'host' => env('DB_DATA_HOST', '127.0.0.1'),
'database' => $databasename,
'username' => $username,
'password' => $password,
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => false
);
$container = new Container;
$connFactory = new ConnectionFactory($container);
$conn = $connFactory->make($settings);
$resolver = new \Illuminate\Database\ConnectionResolver();
$resolver->addConnection('default', $conn);
$resolver->setDefaultConnection('default');
\Illuminate\Database\Eloquent\Model::setConnectionResolver($resolver);
return $conn;
}
catch(\PDOException $e)
{
echo $e->getMessage();
}
catch(Exception $e)
{
echo $e->getMessage();
}
return null;
I tried also
catch(PDOException $e)
This worked but I need to catch it in model and return false if there is a db problem . I don't want to redirect to whoops page...
public function render($request, Exception $e)
{
if($e instanceof \PDOException )
{
return response()->view('errors.500', [], 500);
}
return parent::render($request, $e);
}
Looks like my laravel5 overwrites php.ini settings - I confirmed below configuration under phpinfo() on different none laravel project
display_errors On
error_reporting 22527
Laravel5 ?????? - why ?
display_errors Off
error_reporting -1
I cannot even catch simple error
try
{
return $conn;
}
catch(\PDOException $e)
{
echo $e->getMessage();
}
catch(Exception $e)
{
echo $e->getMessage();
}
return null;
Results
ErrorException in DataModel.php line 36: Undefined variable: conn