我试图捕捉错误时,无效的数据到imagecreatefromjpeg
传递.蛋糕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
,但没有成功。
1条答案
按热度按时间gopyfrb31#
imagecreatefromjpeg()
通常不会导致致命错误,而只会导致警告,您可能需要进一步调查。无论如何,通过
try...catch
捕捉致命错误只能在PHP 7中实现,在PHP 7中,大多数错误都被修改为异常。在这种情况下,您必须捕捉\Error
或\Throwable
。然而,仍然有致命错误无法捕捉,例如当require()
失败时,或内存溢出时。\Cake\Error\FatalErrorException
是在常规错误处理程序中内部创建的,其中将处理(未捕获的)致命错误,即未抛出异常,因此无法捕获。另见