Я озадачен. Что может заставить «улов» не работать и как его исправить? <?php try { throw new Exception('BOOM'); error_log("should not happen"); } catch(Exception $e) { error_log("should happen: " . $e->getMessage()); } ?> Фактический выход [27-Apr-2010 09:43:24] PHP Fatal error: Uncaught exception 'Exception' with message 'BOOM' in /mycode/exception_problem/index.php:4 Stack trace: #0 {main} thrown in /mycode/exception_problem/index.php on […]
Есть ли «статический» способ выброса исключения в php? Мне нужно создать исключение, когда запрос mysql завершится с ошибкой. Я попробовал это: $re=@mysql_query( $query ) or throw new Exception(' Query Failed '); но он не работает. И я использую функцию, основанную на функции throwException() из этого комментария в руководстве PHP: Исключения , но я хотел бы […]
Рассмотрим эти два примера <?php function throw_exception() { // Arbitrary code here throw new Exception('Hello, Joe!'); } function some_code() { // Arbitrary code here } try { throw_exception(); } catch (Exception $e) { echo $e->getMessage(); } some_code(); // More arbitrary code ?> а также <?php function throw_exception() { // Arbitrary code here throw new Exception('Hello, […]
В приведенном ниже коде IDE предупреждает меня о «Отсутствует заявление о возврате» в последней скобке. Который побуждает меня задавать здесь, если возвращение внутри try{} в порядке или должно быть вне его. Большое спасибо. public function getFileNamesFromKeywords( array $ids, $format ) { try { if(self::$dbLink) { $ids = implode(',',$ids); $query = 'SELECT d.id, d.wfid, d.docid , […]
У меня есть файл под названием functions.php . Этот файл состоит из всех других файлов функций, например: include_once("user_functions.php"); include_once("foo_functions.php"); Я хотел бы поймать ошибки, когда, когда я ввожу код в один из этих файлов, он не даст ошибку всей системе. Например, если в foo_functions.php есть ошибка foo_functions.php она просто не будет включать его в functions.php […]
Laravel 4 с MySql db. По какой-то причине я не могу уловить исключения DB ( Illuminate \ Database \ QueryException ) внутри класса семян или миграции: код никогда не входит в блок catch. Например, если я попытаюсь вставить в таблицу, где имя столбца UNIQUE: try { $data = array('id' => 1, 'name' => 'foo'); DB::table('table')->insert($data); […]
Я знаю, что по самому своему определению фатальное исключение должно убивать выполнение и не должно быть подавлено, но вот в чем проблема. Я запускаю скрипт, который сбрасывает, анализирует и хранит в БД около 10 000 страниц. Это занимает пару часов, и в редких случаях (1 из 1000) страница не выполняет синтаксический анализ и генерирует фатальное […]
Это мой блок try / catch в PHP: try { $api = new api($_GET["id"]); echo $api -> processRequest(); } catch (Exception $e) { $error = array("error" => $e->getMessage()); echo json_encode($error); } Когда в $_GET["id"] ничего нет, я все равно получаю сообщение об ошибке. Как я могу избежать получения этой ошибки?
Я использую CodeIgniter как свою структуру веб-приложений. Я использовал простой Try / Catch, и я отправил пробное значение, чтобы проверить его, и он не сработал! Я знаю, что могу использовать $this->db->escape() для решения моей проблемы с данными, но я просто хочу знать: почему TRY / CATCH не может поймать эту ошибку! Код контроллера: $this->load->model('user_model'); $result […]
Я работаю над Приложением, и возник вопрос. Я думал о том, чтобы позволить PHP ошибки стороне (они будут регистрироваться в базе данных или в файле) и управлять другими ошибками (например, «Ваше имя пользователя недействительно» или «Введен неверный пароль» или «Изображение не может быть загруженным ") с таким известным методом try-catch. Хорошо ли справляться с подобными […]