У меня есть видеофайл для проверки с использованием FFPROBE, я пытаюсь перехватить ошибку, чтобы вместо простого генерирования ошибки она сначала обновляла строку БД, устанавливая ее в состояние 2 (обработано 0 = по умолчанию,обработано 0 = выполнено, обработано 2 = ошибка).
Я пробовал это сначала:
$user = Auth::user()->id;
$video = Video::find($videoUploaded->video->id);
$playlist = $video->playlist->id;
...
try {
//Line 39 $seconds
$seconds = $ffprobe->format(config('cf.video_disk') . "/$user/$playlist/$video->ts_name")->get('duration');
} catch (\Exeption $err) {
$video->processed = 2;
$video->name = $err->getMessage();
$video->url = $err->getMessage();
$video->update();
event(new VideoUpdated($video));
return $err->getMessage();
}
И также подавление ошибкис @
и перемещением обновления БД в попытке:
try {
//Line 39 $seconds
$seconds = @$ffprobe->format(config('wondermark.video_disk') . "/$user/$playlist/$video->ts_name")->get('duration'); //Line 39
if (FALSE === $seconds) {
$video->processed = 2;
$video->name = $err->getMessage();
$video->url = $err->getMessage();
$video->update();
}
} catch (\Exeption $err) {
event(new VideoUpdated($video));
return $err->getMessage();
}
Оба возвращают ошибку в строке # 39 (см. комментарий выше), и БД не обновляется: (