C'è un altro approccio in cui si può avvolgere il gestore di eccezioni laravel con il proprio, convertire il nuovo tipo di errore a un'istanza di eccezione prima di passare di nuovo a laravel
Creare la classe di sotto da qualche parte nella vostra applicazione:.
namespace Some\Namespace;
use Error;
use Exception;
class ErrorWrapper
{
private static $previousExceptionHandler;
public static function setPreviousExceptionHandler($previousExceptionHandler)
{
self::$previousExceptionHandler = $previousExceptionHandler;
}
public static function handleException($error)
{
if (!self::$previousExceptionHandler) {
return;
}
$callback = self::$previousExceptionHandler;
if ($error instanceof Error) {
$callback(new Exception($error->getMessage(), $error->getCode()));
}
else {
$callback($error);
}
}
}
all'inizio del config/app.php, è possibile registrare il wrapper class come gestore degli errori predefinito:
$existing = set_exception_handler(
['Some\Namespace\ErrorWrapper', 'handleException']);
ErrorWrapper::setPreviousExceptionHandler($existing);
se sei soddisfatto della mia risposta qui sotto, puoi accettarlo :) –