| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Для профи > Оптимизация error escaping |
| Автор: alexandra231525480 10.4.2008, 11:40 | ||
привет! как можно игнорить варнинги помимо @my_func() ? так как такая конструкция нехило тормозит код она делает такое:
|
| Автор: bars80080 10.4.2008, 11:58 |
| можно исправить ошибки и никаких варингов не будет вообще |
| Автор: alexandra231525480 10.4.2008, 12:07 |
| умно. только это не для кода, а для тестов |
| Автор: Fortop 10.4.2008, 12:13 |
| не понял. Зачем? И что собственно нужно сделать? Добавлено через 57 секунд Почему не написать свой обработчик ошибок? |
| Автор: bars80080 10.4.2008, 12:40 |
| а зачем для тестов их игнорировать? их наоборот нужно выявлять всеми возможными способами |
| Автор: alexandra231525480 10.4.2008, 13:20 | ||
есть код, есть на него тесты с плохими значениями, в случае , например, битого файла (недокаченного etc) код должен без разных ексепшинов просто вернуть false. а варнинги, которые мне об этом сообщают просто-напросто ломают тесты
так шо наверно это и есть наиболее оптимальный вариант, чтоб скипать все эти какашки на участке кода.. |
| Автор: WolfON 10.4.2008, 14:34 |
| try catch ёпрст! |
| Автор: Fortop 10.4.2008, 15:01 |
Он не ловит ошибки, только Exception. Т.е. нужен еще и свой обработчик ошибок, который будет принудительно кидать Exception |
| Автор: alexandra231525480 10.4.2008, 15:06 |
| |
| Автор: alexandra231525480 10.4.2008, 15:48 |
| во-первых, если твое решение просто не подходит человеку - нефиг гнать на его тесты и приложения. во-вторых, если ты не понял вопроса также нефиг гнать на вопрошаемого в-третих, @func использовалось в приложении. и я хочу избегать этот оператор. если не использовать вообще никаких скипов ошибок - валятся тесты. вот я и выдвинула пост дабы узнать мнения по поводу как можно подругому избегать варнингов и прочего подобного. Добавлено через 2 минуты и 10 секунд и как вообще могло взбрести в голову, что именно в тестах используется @ ?????? |
| Автор: MoLeX 10.4.2008, 16:30 | ||
Добавлено через 1 минуту и 10 секунд а грубить - эт последние дело, и причем наказуемое |
| Автор: Fortop 10.4.2008, 17:33 | ||
оно таки завершилось
2811.8342983723с 910000 итераций 0.0030899278004091 среднее время |
| Автор: alexandra231525480 10.4.2008, 18:29 | ||||||
почитай в манах - использование @ интерпретируется как
и весь вопрос заключался в том - как этого избежать! вот и решение - error_reporting ! Добавлено через 4 минуты и 40 секунд и в конечном итоге вместо
имеем
|
| Автор: Fortop 10.4.2008, 19:03 | ||||||||||||||
Не соблаговолите ли указать прямой линк на такую трактовку? Поскольку сам я всегда пользовался http://ua2.php.net/manual/ru/language.operators.errorcontrol.php А теперь еще раз и вдумчиво читаем то, что написано ниже. Для того чтобы не работало в 100 раз медленнее Надо
В коде автора
Все еще не понятно? E_NONE вызывает NOTICE за счет чего и замедляется обработка! Для просмотра предопределенных констант настоятельно рекомендую пользоваться следующим кодом
Пожалейте мои мозги и сердце. |
| Автор: IZ@TOP 21.4.2008, 18:44 |
| alexandra231525480, какими тестами пользуетесь? В UnitTest'ах все отлично работает - если эта ошибка запланированная; для того и придуман assertError. |
| Автор: ST_Falcon 22.4.2008, 22:33 | ||||
+1 alexandra231525480,
зачем? в тестах проблема с производительностью или что? @ стандартный оператор подавления ошибок. менять его на другую конструкцию считаю не логичным - во первых не читабельно, во вторых быстрее работать не будет (как уже вам указали выше). ps. тема очень похожа на стёб |
| Автор: Fortop 23.4.2008, 01:46 |
У нее проблема с умением писать тесты. Вместо того, чтобы бросать Exception и проверять в тесте именно наличие нужного Exception, она пытается подавить вообще все ошибки. |