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

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

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

Лезвие Laravel 5 показывает пустую страницу, когда возникает ошибка вместо исключения исключения

В laravel 4 при попытке отобразить представление, которое не существует в app \ views или в представлении с неопределенными переменными, laravel будет вызывать исключение или показать ошибку, которая помогает при отладке. У меня есть новая установка laravel 5.0.13, и у меня есть трудное время, чтобы устранить неполадки с шаблоном клинка, который показывает пустую страницу, когда […]

php, могут ли исключения быть сброшены на 2 уровня?

Я знаю, что это странно, но в моем коде есть ошибки в режиме разработки и ошибки режима производства. Это функция, которую я имею: private function error($message, $mysql_error = null){ if( DEVELOPMENT_MODE ){ $exp = new Exception(); $trace = $exp -> getTrace(); array_shift( $trace ); // removes this functions from trace $data["Error Mg"] = $message; $data["MySQL […]

Предупреждение «Разделить на Zero» не попадает в блок try / catch PHP

У меня есть этот PHP-код. Всякий раз, когда y становится равным нулю, вместо предупреждения об исключении появляется предупреждение. Что-то не так с моим кодом? try { return($x % $y); throw new Exception("Divide error.."); } catch(Exception $e){ echo "Exception:".$e->getMessage(); } Я получил это предупреждение: Warning: Division by zero in file.php Блок catch не запускается. Что я […]

php: try-catch не поймать все исключения

Я пытаюсь сделать следующее: try { // just an example $time = 'wrong datatype'; $timestamp = date("Ymd H:i:s", $time); } catch (Exception $e) { return false; } // database activity here Короче: я инициализирую некоторые переменные, которые нужно поместить в базу данных. Если инициализация завершилась неудачно по какой-либо причине – например, потому что $ time […]

PHP, Как поймать деление на ноль?

У меня есть большое математическое выражение, которое должно создаваться динамически. Например, как только я проанализировал «что-то», результатом будет строка типа "$foo+$bar/$baz"; , Итак, для вычисления результата этого выражения я использую функцию eval … что-то вроде этого: eval("\$result = $expresion;"); echo "The result is: $result"; Проблема здесь в том, что иногда я получаю ошибки, которые говорят, […]

PHP: инструкция «или» при сбое инструкции: как выбросить новое исключение?

Все здесь должны знать «или» statemens, обычно приклеенные к команде die (): $foo = bar() or die('Error: bar function return false.'); В большинстве случаев мы видим что-то вроде: mysql_query('SELECT …') or die('Error in during the query'); Тем не менее, я не могу понять, как это работает. Я хотел бы создать новое исключение вместо die (), […]

PHP eval и фиксация ошибок (насколько это возможно)

Отказ от ответственности ; Я полностью осознаю подводные камни и «зла» eval, включая, помимо прочего, проблемы производительности, безопасности, мобильности и т. Д. Проблема Чтение руководства PHP по eval … eval () возвращает NULL, если в вычисленном коде не вызван возврат, и в этом случае возвращается значение, переданное в return. Если в оцененном коде есть ошибка […]

Как поймать исключения в ваших ZF2-контроллерах?

Я установил ZendSkeletonApplication с ZF 2.0.3 и я не могу поймать исключения в своих контроллерах. Например, если я поместил следующий фрагмент кода в module/Application/src/Application/Controller/IndexController.php : public function indexAction() { echo "BEFORE\n"; try { throw new \Exception("My exception"); } catch (Exception $e) { echo "Caught exception $e\n"; exit; } и получить доступ к странице, которую я […]

Ошибка PDOException?

Я получаю следующую ошибку в PHP : Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000] [2003] Can't connect to MySQL server on 'localhost' (10061)' in C:\xampp\htdocs\project\Service\Database.class.php:26 Stack trace: #0 C:\xampp\htdocs\project\Service\Database.class.php(26): PDO->__construct('mysql:host=loca…', 'root', '', Array) #1 C:\xampp\htdocs\project\Service\Database.class.php(54): Service\Database::initialize() #2 C:\xampp\htdocs\project\index.php(15): Service\Database::getHandler() #3 {main} thrown in C:\xampp\htdocs\project\Service\Database.class.php on line 26 Сама ошибка не является проблемой , я […]