2017-08-02 196 views
0

我正在使用Laravel 5.4框架创建API。使用JWT令牌时,我输入错误的令牌时无法捕获InvalidTokenException。请参阅我的代码和建议。谢谢!Laravel - 无法捕捉Tymon JWT TokenInvalidException

$token = $request->token; 
    try{ 
     $user = JWTAuth::toUser($token); 
    }catch(\Tymon\JWTAuth\Exceptions\TokenInvalidException $e){  //NOT CATCHING... 
     $error = 'Invalid token'; 
     return response()->json(compact('error')); 
    } 
+0

是否是异常的正确命名空间 – DestinatioN

+0

@DestinatioN是的,它是正确的命名空间。已经搜索并得到了相同的结果捕捉异常 – rayrayray9151

+0

也许你导入了异常,所以你可以删除除了异常的名字 – DestinatioN

回答

0

它可能会抛出一个不同的异常,然后你试图捕捉。 尝试使用任何异常来捕捉它,并查看它是否有效。如果是这样,命名空间很可能是不正确的。

$token = $request->token; 
    try{ 
     $user = JWTAuth::toUser($token); 
    }catch(\Exception $e){  
    $error = 'Invalid token'; 
    return response()->json(compact('error')); 
    } 
+0

嗨帕特里克,尽管使用一般的例外,我仍然无法抓住它。这确实很奇怪 – rayrayray9151

+0

这很奇怪。你是否100%确定在这个地方抛出异常?不在代码中的其他地方? –