尝试使用catch方法捕获查询相关的异常laravel 5

时间:2016-04-06 11:43:20

标签: php laravel-5.1

我是这个try catch异常方法的新手,所以如果你能详细解释在其他文件上实现的答案,将会很有帮助。

我正在使用Laravel 5,我希望在将put或post请求发送到数据库时使用try catch。下面是我的编码结构。

try{
        $result = DB::table('myTable')
                    ->where('uniqueTitle','=',$uniqueId)
                    ->increment($field, 1);
        }
        catch (Exception $e) {
            echo 'Caught exception: ',  $e->getMessage(), "\n";
        }

我的邮差输出

QueryException in Connection.php line 669:
SQLSTATE[42S22]: Column not found: 1054 Unknown column

我故意更改了列名以引发错误。

此外,我如何使用try and catch方法检查必填字段。

1 个答案:

答案 0 :(得分:0)

尝试使用Laravel内置的异常。

 try {
    $result = DB::table('myTable')
                ->where('uniqueTitle','=',$uniqueId)
                ->increment($field, 1);
 } catch (QueryException $e) {
   echo 'Caught exception: ',  $e->getMessage(), "\n";
 } catch (PDOException $e) {
   echo 'Caught exception: ',  $e->getMessage(), "\n";
 }

请记住插入use来声明异常的类。

在这种情况下:

use Illuminate\Database\QueryException;
use PDOException;