2016-03-02 89 views
1

我试图做一个catch试试这个:如何使用尝试捕捉

Config::set('database.connections.information_schema', array ( 
    'driver'  => 'mysql', 
    'host'  => 'localhost', 
    'port'  => '3306', 
    'database' => 'information_schema', 
    'username' => 'root', 
    'password' => '1', 
    'charset' => 'utf8', 
    'collation' => 'utf8_unicode_ci', 
    'prefix'  => '' 
    // 'strict' => false, 
)); 

try 
{ 
    $datos = DB::connection('information_schema')->getDatabaseName();  
    echo "Conectado correctamente a la base de datos: ".$datos."."; 
} 
catch (Exception $e) 
{ 
    echo 'Error'; 
} 

而当他去正确ejectua的尝试,但显然,当去捕捉并没有显示回声

+0

什么是你的问题?发生错误时你认为它从来没有进入捕获? – olibiaz

+0

这是一个关于如何使用try catch catch for php的好例子http://stackoverflow.com/questions/17549584/how-to-efficiently-use-try-catch-blocks-in-php –

回答

4

importing/aliasing namespaces更改

catch (Exception $e) 

catch (\Exception $e) 

更多信息;您还可以在文件顶部添加use Exception;。查找更多的docs

-1

我想数据库连接是在一些函数/方法。如果不是,只需将代码放入某个函数即可。

如果有错误,我们用return命令跳出该功能,并且只有当try块内的代码成功时才继续。

事情是这样的:

... 
try { 
    $datos = DB::connection('information_schema')->getDatabaseName();  
} catch (Exception $e) { 
    echo 'Error'; 
    return false; 
} 
//connected successfully 
echo "Conectado correctamente a la base de datos: ".$datos."."; 
...