2017-08-07 8 views
1

私はTwilio APIを使用してSMSを送信しています。
Twilioは失敗後にSMSを送信しますか?

私はPHP配列に入れたデータベースからusrの名前とnrを取得します。
は、私はforeachループでSMSを送信:

foreach ($usrs as $number => $name) { 

    $sms = $client->account->messages->create($number, 
     array(
      'from' => "xxxxxxxxxxxx", 
      'body' => "Hi $name. $text" 
     ) 
    ); 

    // Display a confirmation message on the screen 
    echo "Sent message to $name <br>"; 
} 

このコードは、カスタムは何かということです。
それは成功をエコーし​​ます。

しかし数は、プロセスのようなエラーメッセージを表示して停止します有効isn't場合:

Sent message to David 
Sent message to Elsa 
Sent message to Adam 
Failure notice: the number is not a valid phone number... 

、ここでループ改...ループで何i'dよう

失敗メッセージをプリントアウトしますが、ループを壊すことなく、障害の後に来るアレイ内のメッセージを引き続き送信します。

エラーメッセージは、API distファイルから取得する必要がありますか?
私はSEの私のカスタムPHPファイルの取り扱いエラーをすることができないので...

+2

それは例外ですか?この場合、SMS作成コールの周りにtry catchを使用し、それに応じて処理します。 –

+0

@JonStirling、私にそれを打つ。 –

答えて

1

コメントで示唆したように、あなたはtry{}catch{}を使用する必要があります。ここで

は一例です:

// Step 1: set our AccountSid and AuthToken from https://twilio.com/console 
    $AccountSid = "XXX"; 
    $AuthToken = "XXX"; 

    $client = new Client($AccountSid, $AuthToken);   

foreach ($usrs as $number => $name) { 
    try { 
     $sms = $client->account->messages->create(

      // the number we are sending to - Any phone number 
      $number, 

      array(
       // Step 2: Change the 'From' number below to be a valid Twilio number 
       // that you've purchased 
       'from' => "+XXXXXXXXXXX", 

       // the sms body 
       'body' => $sms 
      ) 
     ); 

     // Display a confirmation message on the screen 
     echo "Sent message to $name"; 

    } catch (TwilioException $e) { 
     die($e->getCode() . ' : ' . $e->getMessage()); 
    } 

} 
+0

ありがとうございます。私はこれを試してみよう!あなたの返答でforeachループを逃したことに注目してください; D –

+0

@BjörnC、私の編集された答えをご覧ください。 –

関連する問題