LARAVEL 5.6: ловить исключения внутри класса работы - PullRequest
0 голосов
/ 06 июля 2018

Я пытаюсь поймать исключение внутри задания, но кажется, что попытка / отловить ничего не дает.

    /**
 * Execute the job.
 *
 * @return void
 */
public function handle()
{
    $progress=0;
    $step=100/count($this->itemsId);

    event(new JobProgressUpdate($progress, '', true, $this->broadcastChannel));
    foreach ($this->itemsId as $itemId) {
        $message='ITEM '.$itemId.': ';
        $success=true;
        try{
            $this->meliCredential->setItemStatus($itemId,$this->status);
        }catch(\Exception $e){
            $message+=$e->getMessage();
            $success=false;
        }

        $progress+=$step;
        event(new JobProgressUpdate($progress, $message, $success, $this->broadcastChannel));
    }
}

Идея состоит в том, чтобы избежать пометки задания как невыполненного, и просто отправить клиенту сообщение об исключении.

поэтому вопрос в том, как отлавливать исключения внутри обработчика заданий ???

Я не хочу останавливать выполнение, поэтому мне нужно перехватить исключение.

1 Ответ

0 голосов
/ 06 июля 2018

это был просто тупой вопрос. Первоначально проблема заключалась в проблеме пространства имен класса Exception (изначально я не использовал «\»). После этого работа рухнула со строкой $message+=$e->getMessage(); Это было заменено на $message=$message.$e->getMessage(); и теперь работает нормально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...