Меню Закрыть

Php catchable fatal error

Некоторые существующие ошибки ( E_ERROR ) теперь можно поймать при помощи обработчиков. Если E_RECOVERABLE_ERROR не обработана, она будет вести себя как E_ERROR . Ошибки этого типа записываются в лог как Catchable fatal error.

Это означает, что значение константы E_ALL error_reporting теперь равно 6143, тогда как предыдущее значение было 2047. Так как имена констант не имеют смысла вне PHP, иногда используются их числовые значения. То есть, например, при установке error_reporting через httpd.conf или .htaccess , данное значение нужно будет сменить при переходе на новую версию PHP. То же касается и числовых значений, если они используются вместо имен констант в скриптах.

Как побочный эффект этих изменений, чтобы предотвратить двойное сообщение об ошибке при параметре track_errors выставленном в On, теперь необходимо возвращать FALSE из пользовательских обработчиков, чтобы отобразилось значение $php_errormsg . Это позволяет точно контролировать уровни сообщений.

I am trying to implement Type Hinting of PHP5 on one of my class,

Catchable fatal error: Argument 1 passed to ClassA::method_a() must be an instance of ClassB, instance of ClassWrong given.

Is it possible to catch that error(since it says "catchable")? and if yes, how?

1 Answer 1

Update: This is not a catchable fatal error anymore in php 7. Instead an "exception" is thrown. An "exception" (in scare quotes) that is not derived from Exception but Error; it’s still a Throwable and can be handled with a normal try-catch block. see https://wiki.php.net/rfc/throwable-interface

E_RECOVERABLE_ERROR ( integer )
Catchable fatal error. It indicates that a probably dangerous error occured, but did not leave the Engine in an unstable state. If the error is not caught by a user defined handle (see also set_error_handler()), the application aborts as it was an E_ERROR.

edit: But you can "make" it an exception you can handle with a try-catch block

Я остановлен этой ошибкой:

Исправляемая фатальная ошибка: аргумент 1 передан
Joker CoreBundle Entity Incidentfile :: setFile () должен быть экземпляром
Symfony Component HttpFoundation File UploadedFile, заданная строка,
называется в
/Applications/MAMP/htdocs/joker-repo/vendor/symfony/symfony/src/Symfony/Component/Form/Util/PropertyPath.php
по строке 538 и определяется в
/Applications/MAMP/htdocs/joker-repo/src/Joker/CoreBundle/Entity/Incidentfile.php
линия 157

В моей сущности у меня есть сеттеры и геттеры для File. Я использовал этот метод для загрузки файла: ЭТОТ

Читайте также:  Устройство разъема микро usb

И была проблема с разрешением для папки upload_images, но после того, как я решил, все работало нормально, но теперь что-то пошло не так.

Вот сущность

А вот и мой контроллер:

Форма в веточке:

Решение

Я выяснил, что было не так .. У прута была проблема

Рекомендуем к прочтению

Добавить комментарий

Ваш адрес email не будет опубликован.