Laravel 5.3 Вмешательство / исключение для чтения изображений с использованием изображений из URL-адресов

#php #exception-handling

#php #обработка исключений

Вопрос:

Как мне справиться со следующей ошибкой, чтобы мой скрипт не перестал работать при возникновении исключения:

Исключение для чтения в AbstractDecoder.php строка 302: Источник изображения не читается

Я попытался использовать следующее ($file — это URL-адрес изображения):

 // Return false if error
try
{
    $img = Image::make($file);
}
catch(NotReadableException $e)
{
    return false;
}
 

Похоже, это не улавливает исключение и возвращает false. Что еще я могу сделать?

Ответ №1:

Вам либо нужно полное исключение с пространством имен в области catch, либо добавьте инструкцию use для этого исключения в верхней части файла

Комментарии:

1. Итак, что-то вроде catch(Intervention Image Facades Image NotReadableException $ e)?

2. Нет, не используйте фасад — пространство имен Intervention Image Exception NotReadableException

3. Спасибо. Просто нашел его, когда вы опубликовали свой ответ 😉

4. Занято тестированием. Как только я узнаю, что это работает, я приму ваш ответ.

Ответ №2:

Добавить InterventionImageExceptionNotReadableException :

 use InterventionImageExceptionNotReadableException;

try {
    //
} catch(NotReadableException $e) {
    //
}