当传递到imagecreatefromjpeg
的无效数据时,我正试图捕获错误。 Cake php显示错误页面Fatal Error Cake\Error\FatalErrorException
,所以这段代码应该可以工作,但不是:
try {
$src_img = imagecreatefromjpeg($image);
} catch (\Cake\Error\FatalErrorException $e) {
echo 'Caught exception: ', $e->getMessage(), "\n";
}
我也尝试使用\Exception
,\Cake\Core\Exception\Exception
,\ErrorException
,但没有成功。
答案 0 :(得分:1)
imagecreatefromjpeg()
通常不应该导致致命错误,但只有警告,您可能需要进一步调查。
无论如何,通过try...catch
捕获致命错误只能从PHP 7开始,其中大多数已被更改为异常。在这种情况下,您必须抓住\Error
或\Throwable
。但是仍然存在无法捕获的致命错误,例如require()
失败或超出内存时。
\Cake\Error\FatalErrorException
是在常规错误处理程序内部创建的,其中将处理(未捕获的)致命错误,即不会抛出异常,因此无法捕获。
另见