尝试/捕获不适用于 Laravel 5.4

ane*_*ees 4 php try-catch laravel-5 laravel-5.4

我知道有很多关于这个问题的答案,但没有一个能真正帮助我。

// update name

Route::put('/profile/update', function(Request $request){
$name = $request->input('name');

   try{
         echo DB::table('users')->where('id',Auth::id())->update(['name' => $name]);
      }
   catch(\Exception $e){
     // do task when error
      echo $e->get_message();
   }
});
Run Code Online (Sandbox Code Playgroud)

我也尝试过删除方法,但这也不起作用,请您弄清楚发生了什么。谢谢。

Lea*_*ner 6

2020 更新

Laravel 主要使用驼峰命名法,所以使用:

   catch(\Exception $e){
     // do task when error
      echo $e->getMessage();
   }
Run Code Online (Sandbox Code Playgroud)

如果没有,那么只需完全转储$e以查看它:

    catch(\Exception $e){
       // do task when error
       dd($e);
    }
Run Code Online (Sandbox Code Playgroud)

snake_case 命名法仅用于 Laravel 中的表名。


Mah*_*abi 6

就我而言,我必须使用\Throwable而不是\Exception

try {
   //code 
} catch (\Throwable $e) {
     dd($e);
}

Run Code Online (Sandbox Code Playgroud)