Обработка ошибок Nexmo в Laravel - PullRequest
1 голос
/ 25 марта 2020

Как я могу обрабатывать ошибки nexmo, я использую try {} catch () {}, но это не сработало, и я получил эту ошибку Nexmo \ Client \ Exception \ Request (29) Пункт назначения не из белого списка - отклонено Я знаю эту ошибку, но мне нужно ее обработать.

это код:

<?php

namespace App\Notifications;

use Illuminate\Bus\Queueable;
use Illuminate\Notifications\Notification;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Notifications\Messages\MailMessage;
use Illuminate\Notifications\Messages\NexmoMessage;
//use App\admin\Course;

class ConfirmedCourse extends Notification
{
    use Queueable;
    protected $course;

    /**
     * Create a new notification instance.
     *
     * @return void
     */
    public function __construct($course)
    {
     $this->course = $course;
    }

    /**
     * Get the notification's delivery channels.
     *
     * @param  mixed  $notifiable
     * @return array
     */
    public function via($notifiable)
    {
        return ['nexmo'];
    }

 public function toNexmo($notifiable)
    {
      try {
     $message = new NexmoMessage(); 
     $message->content($this->course)
         ->unicode();
     return $message;
    }catch (\Exception $e) {
    $e->getMessage();
    }
 }  
}

1 Ответ

0 голосов
/ 25 марта 2020

Я исправил это в прошлом, поместив вызов в notify() в try catch:

try {
    $variableToCatch = $YourModel->notify(new ConfirmedCourse($data));
} catch (\Exception $e) {
    // Do what you want here... 
    // Log::error('nexmo failed...');
    // echo 'Caught exception: ',  $e->getMessage(), "\n";
    // Log::error($e->getMessage());
    // dd($e->getMessage())
}

Если вы разместите строку, по которой вы звоните notify(), я могу обновить до вашего точного использования требуемый оператор.

Удалите попытку try из класса ConfirmedCourse и поместите его вокруг вызова в вызывающем его методе.

Вот как я обработал ошибку уведомления слабого хода:

try {
    $slackNotification = $user->notify(new SlackNotification($slackData));
} catch (\Exception $e) {
    Log::error('slack notification failed.');
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...