Я полагаю, что не могу правильно обработать исключение, используя 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 я не улавливаю это, и мой сценарий останавливается.
Где моя ошибка?
Вы используете полное имя, что приводит к его разрешению относительно текущего пространства имен, т.е. Imagine\Exception\Exception
будет разрешать \CurrentNamespace\Imagine\Exception\Exception
и так как этого не существует, вы ничего не ловите.
Либо используйте импортированное пространство имен, которое Exception
т.е. Exception\Exception
, который разрешит \Imagine\Exception\Exception
или используйте правильное полное имя, то есть имя, начинающееся с \
т.е. \Imagine\Exception\Exception
,
Смотрите также Руководство по PHP> Справочник по языку> Пространства имен> Использование пространств имен: основы
Других решений пока нет …