Как обработать исключение Imagine в CakePHP 3

Я полагаю, что не могу правильно обработать исключение, используя Imagine libray.

Мой код:

use ....
use Imagine\Exception;
....

try {

$imagine = new Imagine();

$image = $imagine->open($img_path . DS . "tmpfile." . $extension)
->resize(new Box($cwidth, $cheight))
->crop(new Point($offsetx, $offsety), new Box(500, 500));

...

} catch (Imagine\Exception\Exception $e) {

die("catch Imagine\Exception\Exception");
$file = new File($img_path . DS . "tmpfile." . $extension);
if ($file->exists()) {
$file->delete();
}

}

но на Imagine Exception я не улавливаю это, и мой сценарий останавливается.

Где моя ошибка?

0

Решение

Вы используете полное имя, что приводит к его разрешению относительно текущего пространства имен, т.е. Imagine\Exception\Exception будет разрешать \CurrentNamespace\Imagine\Exception\Exceptionи так как этого не существует, вы ничего не ловите.

Либо используйте импортированное пространство имен, которое Exceptionт.е. Exception\Exception, который разрешит \Imagine\Exception\Exceptionили используйте правильное полное имя, то есть имя, начинающееся с \т.е. \Imagine\Exception\Exception,

Смотрите также Руководство по PHP> Справочник по языку> Пространства имен> Использование пространств имен: основы

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]