2016-03-02 94 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."."; 
...