2015-06-09 4 views
0

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

Мой код:

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(); 
    } 

} 

но Представьте Exception, я не поймать его и мой сценарий останавливается.

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

ответ

1

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

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

Смотрите также PHP Manual > Language Reference > Namespaces > Using namespaces: Basics

+0

Хорошо, я понимаю. Благодарю. – 2ndGAB

Смежные вопросы