[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Exception VS trigger_error при дебаггинге
Страницы: 1, 2, 3, 4
Oyeme
На продукции все fatal обрабатываются исключениями а warrning,notices etc просто подaвляються,один словом их просто не показывают.

На скринах у Вас срабатывает модуль xdebug wink.gif для тестирование самое то и Вашем случаи как раз их и отлавливает с помощью установки тригерра wink.gif

Логика exception обрабатывать именно ошибки фатальные + с cutom errors.
Так же обрабатывание разных тип ошибок,распределяя их на обработку.

Тема названа не совсем корректно потому что exception не используют для dеbugging не посреднственно notice,warraning,deprecated


Про вложенность и исключения.
Если представить что у нас есть самолет.

Каждая деталь самолета разбита на классы.(Более сотни тысяч классов)
Каждая делать имеет свои "класс"(тип) в нашем случаи мы будет выкидыать исключение этого типа.
Например отказало колесо,в это случаи мы поймали исключение что это было именно:
Самолет->нижнаяя часть самолета->шосси-колесо

В нашем случаи класс шосси будет отвечать за состояние колес,и если он поймает исключение что колесо отказало.
Он будет уже принимать решение,что дальше делать.Возможно он попробует перезапустить его или либо достать запосное.(Неважно)
Задача проста,сделать так чтобы самолет работал и ошибка обработалась.

Поэтому у каждой детали есть свой тип ошибки и своя подгруппа.(Multiple Exception)
Вы никаким образом не поймаете огромную вложенность другим способом.

twin
Цитата (MiksIr @ 31.07.2013 - 17:40)
Ага, и получите один варнинг в цикле пару тысяч раз. Очень поможет ;)


Бывает и такое))) Но чаще бывает иначе. Беда не приходит одна. И очень часто анализ нескольких варнингов сильно помогает найти логическую ошибку. Вобщем то дело привычки, мне вот это кажется большим подспорьем, кто-то привык по одному ковырять.

Цитата
А вообще ничо не понял... причем тут дебаг, причем тут исключения? Варнинги и не должны преобразовываться в исключения. А красивый экран Yii с ошибкой отношения к исключениям не имеет - Yii не бросает исключений при ошибках (к сожалению).
Странно. Но ведет себя именно так.

Сейчас глянул класс CApplication, разве там не на исключениях построен дебаг? Вот это место особенно:
            try
{
Yii::import('CErrorEvent',true);
$event=new CErrorEvent($this,$code,$message,$file,$line);
$this->onError($event);
if(!$event->handled)
{
// try an error handler
if(($handler=$this->getErrorHandler())!==null)
$handler->handle($event);
else
$this->displayError($code,$message,$file,$line);
}
}

catch(Exception $e)
{
$this->displayException($e);
}


Да собственно не в Yii дело. Просто я часто слышу, что для обработки ошибок нужно пользоватся исключениями. А вот что-то не получается у меня этого. Имеются ввиду именно системные ошибки, не логические.

Попробовал совместить опционально, вроде что-то вышло. А иначе ни с дебагом ни с логами никакого сладу.



_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.