Php try-catch块未截获错误

Php try-catch块未截获错误,php,laravel,exception,error-handling,runtime-error,Php,Laravel,Exception,Error Handling,Runtime Error,我得到了以下错误,它没有在try-catch块中被截获 PHP Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 32768 bytes) in /vendor/symfony/debug/Exception/FatalErrorException.php on line 1 PHP Stack trace: 如果在php.ini中提升到memory\u limit=512M,它

我得到了以下错误,它没有在try-catch块中被截获

PHP Fatal error:  Allowed memory size of 134217728 bytes exhausted
(tried to allocate 32768 bytes) in
/vendor/symfony/debug/Exception/FatalErrorException.php on line 1  PHP Stack trace:
如果在php.ini中提升到
memory\u limit=512M
,它可以正常工作,但困扰我的是错误没有得到处理

我已经读到,您可以编写自己的php错误回调,但我担心Laravel错误处理可能依赖于此


有什么办法处理这个问题吗?10x

捕获不适用于致命错误。您可以对异常使用try-catch,但致命错误实际上“破坏”了您的程序。您不能简单地捕获它们,您必须解决它们。并不是说不应该解决异常警告,而是它们不像致命错误那样重要

我看到的解决方案是优化查询(可能添加一个限制会有所帮助),或者按照建议增加内存大小


此错误通常源于“数据处理过多”,因此要么缩小数据范围以加快脚本运行,要么增加限制。

Catch不适用于致命错误。您可以对异常使用try-catch,但致命错误实际上“破坏”了您的程序。您不能简单地捕获它们,您必须解决它们。并不是说不应该解决异常警告,而是它们不像致命错误那样重要

我看到的解决方案是优化查询(可能添加一个限制会有所帮助),或者按照建议增加内存大小

此错误通常来自“太多的数据处理”,因此要么缩小数据范围使脚本运行更快,要么增加限制

use \Exception as Exception;

try {
   $this->recursiveCall();
} catch (ErrorException $ex) {
    exit;
}catch (Exception $ex) {
    exit;
}