我目前可以在一行代码中进行尝试/捕获,但是当它出错时,它不能正确地打印出错误。当前:
try
{
// code here
}
catch (\Exception $e)
{
return Redirect::back()
->withErrors($e->getResponse()->getBody()->getContents()["message"]);
}
打印:
{
现在,如果我使用:
return Redirect::back()->withErrors($e->getResponse()->getBody()->getContents());
然后我得到:
{“消息”:用户不存在}
如何将其更改为出现错误时仅显示“用户不存在”?
答案 0 :(得分:3)
您需要解码json字符串,以便可以访问message属性。
try {
//code here
}catch (\Exception $e) {
$response = json_decode($e->getResponse()->getBody()->getContents());
$message = $response->message;
return Redirect::back()->withErrors($message);
}
答案 1 :(得分:1)
您正在尝试通过数组访问来访问序列化的JSON字符串。这显然将失败。这里是1:1的解决方案,其中包括JSON解码。
try
{
// code here
}
catch (\Exception $e)
{
return (json_decode(Redirect::back()
->withErrors($e->getResponse()->getBody()->getContents()))->message;
}