【问题标题】:Handling Error while sending sms in twilio在 twilio 中发送短信时处理错误
【发布时间】:2018-12-03 05:39:42
【问题描述】:

我有一个订单表,用户可以在其中输入一些带有电话号码的详细信息。当用户确认订单时,我正在使用 twilio 可编程短信向该电话号码发送短信。短信发送工作正常。代码如下:

    $message = $twilio->messages
                      ->create($toNumber, [
                            'body' => 'My Message',
                            'from' => 'AlphaNumericNumber'
                        ]);

但问题是,如果用户输入了无效数字,则会引发 HTTP 400 代码错误。如果用户输入无效数字,我想向表单显示用户友好的闪存/错误消息。谁能帮我这个?我在我的应用程序上使用 laravel 5.5。

我得到的错误:

Twilio \ Exceptions \ RestException (21211)
    [HTTP 400] Unable to create record: The 'To' number is not a valid phone number.

【问题讨论】:

  • 如果是的话,你能得到错误 400/成功 200,然后把这些放在 if else Session::flash('message', 'This is a message!'); Session::flash('alert-class', 'alert-danger');

标签: laravel twilio


【解决方案1】:

您可以将 twilio 调用包装在 try..catch 语句中,并在错误时重定向:

try {
    $message = $twilio->messages
                      ->create($toNumber, [
                          'body' => 'My Message',
                          'from' => 'AlphaNumericNumber'
                       ]);

} catch (\Exception $e) {
    // will return user to previous screen with twilio error
    return redirect()->back()->withError($e->getMessage());
}

如果遇到异常,用户将被重定向到上一个屏幕,错误的详细信息存储在闪存中。

【讨论】:

  • 感谢您的回复。我确实也使用了 try catch 语句。但错误在命名空间中。我正在使用 RestException 并且命名空间不正确。这就是它给出错误的原因。并且没有捕捉到异常错误。你的解决方案也是正确的。和我一样。
  • 我的版本旨在捕获任何异常,无论命名空间如何。我不知道您使用了 try...catch ,因为您的问题中缺少它。以后,请尝试包含所有相关代码。
  • @AlauddinAhmed 哪个命名空间是正确的?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-08
相关资源
最近更新 更多