![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
slogic |
|
|||
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 30.7.2008 Репутация: нет Всего: нет |
Мне нужна система на базе исключений. То, что делает PHP очень не нравится, потому что мне надо чтобы после ошибки (будь это ошибка уровня ERROR или NOTICE, т.е. в зависимости от error_reporting) контекст возвращался к месту, где я ловлю исключения. PHP использую 5.2.x. Кто может что посоветовать? Пока приходит в голову одна плохая идея. В контексте, где ошибки PHP не должны прерывать работу скрипта в целом, а возбуждаться в виде исключений, я создаю свой обработчик ошибок и навешиваю его (set_error_handler), а потом из него выбрасываю исключение. Но таких мест может быть очень много.
|
|||
|
||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 75 Всего: 260 |
||||
|
||||
slogic |
|
|||
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 30.7.2008 Репутация: нет Всего: нет |
Так-с, пока нарыл вот это: http://forum.dklab.ru/viewtopic.php?p=146438
ЗЫ. И еще тут: http://habrahabr.ru/blogs/php/30399/ Короче сводится к тому, до чего я сам догадался. Хотя использование Exceptionizer.php сильно облегчило задачу. Жалко что нет встроенного "переключателя" в самом PHP 5.x, устанавливаемого, например, через ini_set(). А вот с невозможностью перехвата E_ERROR придется мириться. Можете закрыть тему. Это сообщение отредактировал(а) slogic - 1.10.2008, 02:55 |
|||
|
||||
MoLeX |
|
|||
![]() Местный пингвин ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4076 Регистрация: 17.5.2007 Репутация: 46 Всего: 140 |
slogic, если решил тему то помечай ее соответсвенным образом
-------------------- Amazing ![]() |
|||
|
||||
sTa1kEr |
|
|||
9/10 программиста ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1553 Регистрация: 21.2.2007 Репутация: 56 Всего: 146 |
Непонимаю, зачам такие велосипеды? Чем не подходит родной PHP метод с родным исключением от сюда http://php.net/ErrorException ?
Нету смысла для двух строчек кода создавать отдельный параметр в настройках. Все ошибки уровня E_ERROR и выше (в т.ч. E_PARSE, etc) можно перехватить по методу Котерова через ob handler, но исключительно для того, что бы выдать осмысленный текст ошибки и/или формировать какую-либо отладочную информацию. К примеру, я использую этот метод для того, что бы при генерации любой ошибки была собрана отладочная информации и отправлена на консоль/FireBug/консоль на JavaScript и пр. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "PHP" | |
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |