Articles of исключений

Лучшая практика использования обработки исключений PHP

Я знаю, что этот вопрос задавали до нескольких часов, но у них, похоже, есть рабочий стол, а не веб-приложение. В настоящее время я создаю веб-приложение с использованием PHP. Я собираюсь использовать контроллер и файл модели, чтобы продемонстрировать свой вопрос. Файл контроллера Этот файл запрашивает базу данных для запроса и получения данных <?php public function index() […]

Как изменить HTTP-ответ и показать сообщение об ошибке, когда исключение происходит в деструкторе?

У меня есть ситуация, когда функция PHP пытается перенаправить браузер через HTTP 302, но исключение бросается в деструктор, вызываемый «exit». Фактический код, о котором идет речь, это метод _doRedirect () SimpleSAML, но вот упрощенная ситуация: header('Location: http://somewhere.com', TRUE, 302); exit; // end script execution «Выход» запускает деструктор для несвязанного класса, и данные об ошибках записываются […]

PHP, PDO и исключения

В настоящее время я немного дилемма относительно PDO. Недавно я переключился на его использование из своего собственного класса базы данных, поскольку я хочу воспользоваться транзакциями. Проблема, с которой я сталкиваюсь, заключается в том, как выкидывать исключения изнутри кода кода, который уже завернут с try / catch для PDO. Вот пример … try { // PDO […]

Где искать исключения в приложении PHP MVC?

У меня есть небольшое / среднее PHP-приложение, созданное для практических навыков ООП и MVC. У меня есть файл init / bootstrap, который вызывает Router, который вызывает Controller -> Service Layer -> Repository (Database), а затем отправляет обратно переменные в View Layer (все зависимости обрабатываются с помощью DiC / IOC). Я создал абстрактный класс BaseException, который […]

Как обрабатывать исключения и сообщения об ошибках в Laravel 5?

Когда я получу эту ошибку: QueryException в строке 620 Connection.php: SQLSTATE [23000]: нарушение ограничения целостности: 1062 Дубликат записи могу ли я обработать его со своим собственным сообщением об ошибке, а не: Упс, похоже, что-то пошло не так

PHP 5.5 и попробуйте … наконец

PHP 5.5 добавляет поддержку, finally в блоки try / catch. Java позволяет вам создать блок try / catch / finally без блока catch, поэтому вы можете очищать локально, когда происходит исключение, но пусть это само распространение распространяется на стек вызовов, поэтому его можно обрабатывать отдельно. try { // Do something that might throw an exception […]

__autoload не может выдать исключение, если он не загружает класс при вызове статического метода

При попытке выполнить некоторую обработку ошибок, когда моя функция __autoload () не загружает файл, я наткнулся на эту маленькую «странность». Согласно http://nl.php.net/autoload Исключения из функции __autoload () могут быть обнаружены в блоке catch с PHP версии 5.3+. Примечание. До 5.3.0 исключения, брошенные в функцию __autoload, не могли быть пойманы в блоке catch и привели бы […]

Разница между исключениями и ошибками?

В чем разница между ошибкой и исключением? Я читал многочисленные ресурсы в Интернете и в нескольких книгах, но предоставленные объяснения не очень тщательны. Поэтому я все еще смущен. Благодаря! Edit: Похоже, я задал два вопроса, которые, вероятно, были сбиты с толку. Главный вопрос, на который я хотел ответить, – это разница между ошибками и исключениями […]

Поймать фатальное исключение и продолжить

Я знаю, что по самому своему определению фатальное исключение должно убивать выполнение и не должно быть подавлено, но вот в чем проблема. Я запускаю скрипт, который сбрасывает, анализирует и хранит в БД около 10 000 страниц. Это занимает пару часов, и в редких случаях (1 из 1000) страница не выполняет синтаксический анализ и генерирует фатальное […]

Исключить исключение «Исключение» с сообщением «Сериализация« SimpleXMLElement »не допускается»

Я не знаю, почему это происходит. Я не сериализую XML, но мой массив, который я создал из RSS-канала (обратите внимание, что это всего лишь фрагмент): $game_data = array ( 'sysreqos' => $game->systemreq->pc->sysreqos, 'sysreqmhz' => $game->systemreq->pc->sysreqmhz, 'sysreqmem' => $game->systemreq->pc->sysreqmem, 'sysreqdx' => $game->systemreq->pc->sysreqdx, 'sysreqhd' => $game->systemreq->pc->sysreqhd, ); Затем я сериализую его $some_var = serialize($game_data) и записываю в […]