2016-10-14 67 views
0

乾草我創建像這樣的代碼:如何捕捉SQL異常在Laravel 5

\Log::info("saving log...."); 
    try{ 
     $data = AstronautCandidateLog::insert($request->logs); 
    }catch (SQLException $e) 
    { 
     \Log::info("SQL Exception happened"); 
    }catch (Exception $e) 
    { 
     \Log::info("Exception happened"); 
    } 

    \Log::info("status save data : ". $data); 

但似乎我的異常不會獲得。那麼如何捕獲異常在laravel時,SQL查詢中有什麼錯誤...... ??

在此先感謝。

+0

嘗試追趕'\照亮\數據庫\ QueryException' –

+0

仍然沒有運氣@canVural .... –

回答

1

試試這個

try { 
//Your code 
} catch(\Illuminate\Database\QueryException $ex){ 
    dd($ex->getMessage()); 
} 

OR

use Illuminate\Database\QueryException; 

try { 
    //Your code 
    } catch(QueryException $ex){ 
     dd($ex->getMessage()); 
    } 
+0

我曾嘗試使用...該QueryException從來沒有得到擊中.... :) –

+0

aaand ...我也試過這一個...... ^^ –

+0

最後,我會建議你參考這個鏈接[http://stackoverflow.com/questions/ 31508223/how-to-properly-catch-php-exceptions-laravel-5-1]和[http:// st ackoverflow.com/questions/33679996/how-do-i-catch-a-query-exception-in-laravel-to-see-if-it-fails。希望這會有所幫助。 –