Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: throw new Exception [2]
throw $e;// бросаем готовый объект. на практике получаем его из catch
throw new Exception('msg');// Бросаем объект, предварительно создавая его.
никаких противоречий в синтаксисе не вижу.
----- Чем больше узнаю, тем больше я не знаю.
Bio man
Отправлено: 09 Августа, 2012 - 23:47:21
Постоянный участник
Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010 Откуда: Даугавпилс, Латвия
Помог: 52 раз(а)
DlTA пишет:
возможно ошибка тут throw new Exception();
Нет.
OrmaJever пишет:
Что я делаю не так?
Уж тебе то не знать... throw $e; не перехватывается нигде.
Мелкий
Отправлено: 10 Августа, 2012 - 10:05:01
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
OrmaJever пишет:
Что я делаю не так?
Вышестоящий try-то где? throw $e кидает исключение дальше. Если его больше никакой try не ловит - закономерный fatal error. См. пример Stierus.
PS: кстати, в PHP5.5 может появиться небесполезный finally
----- PostgreSQL DBA
Stierus
Отправлено: 10 Августа, 2012 - 11:31:01
Рекордсмен по количеству сообщений за 7 дней
Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008 Откуда: Москваль
Помог: 52 раз(а)
Мелкий , finally - вещь полезная, но в кривых руках сильно опасная (поведение у нее не очевидное, а мануалы люди читать не любят)
Мелкий
Отправлено: 10 Августа, 2012 - 11:45:15
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
Stierus, в кривых руках у всего поведение не очевидное... У любых управляющих структур, включая break, continue, return.
А с поведением предпочту разбираться ближе к релизу, а то придумают опять что-нибудь странное в реализации. Наживую-то не сталкивался с finally, только впечатлился на саму возможность у Макконнелла.
----- PostgreSQL DBA
EuGen
Отправлено: 10 Августа, 2012 - 11:54:35
Профессионал
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
По поводу непонятности конструкции (по теме)- если честно, пока так и не понял, в чем трудность с тем, что при использовании исключений используется понятие "выбросить исключение", throw exception (возможно, просто не самый удачный перевод?)
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
DlTA
Отправлено: 10 Августа, 2012 - 19:17:21
Постоянный участник
Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010
Помог: 53 раз(а)
вопрос скорее возник из за того что я был не в курсе что можно было бросить пойманное исключение дальше.
Stierus
Отправлено: 10 Августа, 2012 - 19:50:19
Рекордсмен по количеству сообщений за 7 дней
Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008 Откуда: Москваль
Помог: 52 раз(а)
DlTA, у конструктора исключения есть третий параметр, довольно забавный
DlTA
Отправлено: 10 Августа, 2012 - 23:29:32
Постоянный участник
Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010
Помог: 53 раз(а)
это просто замечательно если не учитывать тот факт что в мане не описаны детали(
z1o
Отправлено: 19 Сентября, 2012 - 21:31:36
Новичок
Покинул форум
Сообщений всего: 58
Дата рег-ции: Авг. 2011
Помог: 0 раз(а)
DlTA пишет:
это просто замечательно если не учитывать тот факт что в мане не описаны детали(
Можешь взять нормальную книгу по обработке исключений на с++, а на php там все аналогично (только в php чуть синтаксис не тот и возможностей меньше )
DlTA
Отправлено: 19 Сентября, 2012 - 21:39:07
Постоянный участник
Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010
Помог: 53 раз(а)
z1o пишет:
Можешь взять нормальную книгу по обработке исключений на с++
о да, помню те времена когда я грыз с++, вот с тех самых у меня и возниклов отрицательное впечатление
а читал я тогда мсдн
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.