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

Исключения PHP в классах

Я пишу веб-приложение (PHP) для своего друга и решил использовать мой ограниченный тренинг OOP с Java. Мой вопрос – это лучший способ отметить в моем классе / приложении, что определенные критические вещи не удались, не нарушив мою страницу. Моя проблема заключается в том, что у меня есть объект SummerCamper, который принимает camper_id, поскольку это аргумент […]

PHP «Исключение не найдено»

У меня есть какой-то смешной вопрос. При попытке понять, почему определенный веб-сайт возвращает http-код 500 в браузер, я нашел сообщение PHP Fatal error: Class 'MZ\\MailChimpBundle\\Services\\Exception' not found in /var/www/website/vendor/bundles/MZ/MailChimpBundle/Services/MailChimp.php on line 41 в журнале apache. Глядя на указанную строку: throw new Exception('This bundle needs the cURL PHP extension.'); Теперь я понимаю, как заставить сайт работать, […]

Почему мое исключение не поймано поймать?

У меня есть код, который выглядит так # Try to import file try { DataManager::fileImport($_FILES['datafile']['tmp_name'], $_POST['zones'], $_POST['statuses']); } catch(Exception $e) { print 'Herp.'; $response->body = Helpers::getVarDump($e); } DataManager::fileImport – это буквально однострочная функция, которая DataManager::fileImport нормальное исключение: static function fileImport($filepath, $zones, $statuses) { throw new Exception('SOME EXCEPTION'); } И все же я получаю Неустранимая ошибка: […]

доступ к частной переменной из функции-члена в PHP

Я получил класс из Exception , в основном так: class MyException extends Exception { private $_type; public function type() { return $this->_type; //line 74 } public function __toString() { include "sometemplate.php"; return ""; } } Затем я получил значение MyException следующим образом: class SpecialException extends MyException { private $_type = "superspecial"; } Если я throw […]

Когда вы выбросите DomainException в PHP?

Я просматривал список предопределенных Исключений в PHP, и я заметил DomainException . Кто-нибудь знает, что означает DomainException? Означает ли это, что проверка достоверности данных не подтверждена?

Неправильно ли исключать исключения для возврата ошибок сервера, например. 404 Страница не найдена?

Я работаю над фреймворком PHP и в настоящее время занимаюсь обработкой ошибок. Основываясь на том, что я прочитал на SO, я должен использовать исключения только для исключительных ситуаций. Поэтому неправильное использование исключения при неправильном вводе пароля. Должен ли я избегать использования исключений, когда я хочу вернуть код ошибки сервера пользователю (например, 404 Страница не найдена)? […]

Исключение Catch Cakephp 3: не работает

Я пытаюсь поймать исключения в Cakephp v3.0, но, похоже, это не работает: try{ $email = new Email('default'); $email->from([Configure::read('email') => Configure::read('emailName')]) ->to(Configure::read('email')) ->bcc($to) ->subject(__('XXXX') . ' : ' . __('XXXX')) ->template('fail', 'default') ->emailFormat('html') ->send(); } catch (Exception $ex) { } Это исключает исключение: Could not send email: mail(): Failed to connect to mailserver at "localhost" port […]

когда я пишу свой собственный класс исключения?

Мне было интересно, как я вошел в мутные воды ООП и написал пару или около того распределенных библиотек, когда необходимо написать собственное расширение класса исключений. До сих пор я просто использовал встроенный класс исключений и, похоже, хорошо мне помог. Нужно ли, и если да, то когда это нормально, я должен написать подкласс исключения.

Пользовательские сообщения об исключении: лучшие практики

Интересно, сколько усилий я должен предпринять для форсирования полезной информации отладки при создании сообщений об исключениях, или я должен просто доверять пользователю, чтобы предоставить правильную информацию, или отложить сбор информации до обработчика исключений? Я вижу много людей, которые делают свои исключения, например: throw new RuntimeException('MyObject is not an array') или расширение исключений по умолчанию с […]

php try … else

Есть что-то подобное в PHP для try … else в Python? Мне нужно знать, выполняется ли блок try правильно, как при правильном выполнении блока, будет напечатано сообщение.