Uncaught TypeError: Argument 1 passed to AppExceptionsHandler::report() must be an instance of Exception laravel PHP 7




762
Uncaught TypeError: Argument 1 passed to AppExceptionsHandler::report() must be an instance of Exception laravel PHP 7
Рейтинг 8 из 10. Голосов: 1
Ваша оценка:

Uncaught TypeError: Argument 1 passed to AppExceptionsHandler::report() must be an instance of Exception, instance of TypeError given, called in
 
или такая ошибка 
 
Uncaught TypeError: Argument 1 passed to App\\Exceptions\\Handler::report()  must be an instance of Exception, instance of Error given, called
 

после обновления php7 Laravel начал выдавать такую ошибку
ошибка в исключниях как решить проблему?
 
недолго думая и перепровобав разные методы и советы решил изменить в ядре фреймворка в файле
 
/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php
 
добавляем 
+use Exception;
+use Symfony\Component\Debug\Exception\FatalThrowableError;



в методе handleException класса HandleExceptions добавляем условие

public function handleException($e)
{
+ if (! $e instanceof Exception) {
+ $e = new FatalThrowableError($e);
+ }
+
$this->getExceptionHandler()->report($e);

if ($this->app->runningInConsole())

.....

 

 

второй вариант в этом же файле и в этой же функции иначе сделать

 

public function handleException($e)
{
if (! $e instanceof Exception) {
  $e = new \Exception($e->getMessage()."\n".$e->getTraceAsString(),     $e->getCode()); // new FatalThrowableError($e);
  }...

 

должно помочь


Вопросы и ответы