Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Исключительные события в рнр

2.1K
30 ноября 2007 года
smoki
115 / / 05.11.2006
здравствуйте уважаемые программисты, прочитав уже 5 раз книгу по рнр я так и не понял исключительные события, почему они опираются на оп. if, а не генерируются самостоятельно, вот например:
try
{if(!eval('return 2/0;'))
{ throw(...)}}...
и вот такой код
try
{
if(!eval('return 1-1;'))...
оба вызовут ошибку?
7.9K
30 ноября 2007 года
vasa_c
191 / / 05.04.2007
На какой оп.if ?
Что значит генерируются самостоятельно?
Вызовут ли оба ошибку может ответить эксперимент.
353
30 ноября 2007 года
Nixus
840 / / 04.01.2007
Цитата: smoki
я так и не понял исключительные события, почему они опираются на оп. if, а не генерируются самостоятельно


Исключительные события сами по себе не генерируются. Они посылаются оперетором throw. Другое дело, что постоянно исключения посылять не нужно, а нужно лишь реагировать на неверные данные, состояние или еще что-то. if как раз и проверяет, все ли в порядке.

 
Код:
function assertPositive($a)
{
     if($a < 0)
          throw(...);
}


Эта функция создает исключительную ситуацию, когда ей будет передан отрицательный параметр.
2.1K
30 ноября 2007 года
smoki
115 / / 05.11.2006
да, но при использовании функции eval, при возникновении ошибки деления на 0 эта функция возвращает 0 при проверке возникает ошибка, а если 0 будет возвращатся, как результат вычисления, то ошибка тоже будет вызываться, что неверно, т.к. никакой ошибки не было
271
02 декабря 2007 года
MrXaK
721 / / 31.12.2002
а если так:
 
Код:
if ( (eval(...) === NULL) || (eval(...) === FALSE) )
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог