Php Try/catch未捕获imagecreatefrompng()异常

Php Try/catch未捕获imagecreatefrompng()异常,php,laravel,exception,sentry,Php,Laravel,Exception,Sentry,由于某些原因,try/catch无法捕获无效的png异常: 警告:imagecreatefrompng():“/var/www/html/app/images/apple-icon-512.png”不是有效的png文件 还是哨兵问题 try { $originalImageFilename = pathinfo(parse_url($filename, PHP_URL_PATH), PATHINFO_FILENAME); $jpgFilename = $origi

由于某些原因,try/catch无法捕获无效的png异常:

警告:imagecreatefrompng():“/var/www/html/app/images/apple-icon-512.png”不是有效的png文件

还是哨兵问题

try {
        $originalImageFilename = pathinfo(parse_url($filename, PHP_URL_PATH), PATHINFO_FILENAME);
        $jpgFilename = $originalImageFilename . '.jpg';

        $image = imagecreatefrompng($this->folderPath . 'original/' . $filename);
        $bg = imagecreatetruecolor(imagesx($image), imagesy($image));
        imagefill($bg, 0, 0, imagecolorallocate($bg, 255, 255, 255));
        imagealphablending($bg, true);
        imagecopy($bg, $image, 0, 0, 0, 0, imagesx($image), imagesy($image));
        imagedestroy($image);
        imagejpeg($bg, $this->folderPath . 'original/' . $jpgFilename, 100);
        imagedestroy($bg);

        return $jpgFilename;
    } catch (\Exception $e) {
        Logger::critical($e, 'Failed converting png to jpg. Filename: ' . $filename);

        return null;
    } catch (\Throwable $e) {
        Logger::critical($e, 'Failed converting png to jpg. Filename: ' . $filename);

        return null;
    }

您可以使用错误处理程序,请参见此问题