0

I suppose I don't manage correctly the exception using Imagine libray.

My code is:

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

}

but on Imagine Exception, I don't catch it and my script stops.

Where is my mistake?

4

1 回答 1

0

您正在使用限定名称,导致它相对于当前命名空间进行解析,Imagine\Exception\Exception即将解析为\CurrentNamespace\Imagine\Exception\Exception,并且由于它不存在,因此您没有捕获任何内容。

要么使用导入的命名空间,Exception即 ie Exception\Exception,它将解析为\Imagine\Exception\Exception,要么使用正确的完全限定名称,即以 a 开头的名称\ie \Imagine\Exception\Exception

另请参阅PHP 手册 > 语言参考 > 命名空间 > 使用命名空间:基础知识

于 2015-06-09T18:58:29.843 回答