При закрытии подписчики были переданы в рассылку "Заметки Дизайнера" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
Содержание Вниманию читателей!Отдельные выпуски рассылки в той или иной мере взаимосвязаны; особенно, это относится к материалам практических занятий. С предыдущими выпусками Вы можете ознакомиться:
# # # Вы также можете подписаться на рассылку "PHP 5 для начинающих". PHP 6 уже в разработке!Еще в ноябре 2005 года на встрече в Париже разработчики обсудили новые возможности следующей, шестой, версии PHP. Интересует ли Вас, какой будет эта версия? Примите участие в опросе, который проводится на сайте рассылки. http://pterodactyl.l2p.net/e107/ [опрос на английском языке: PHP 6: Are you interesting in? (PHP 6: Вы зантересованы?) - YES (ДА) - NO (НЕТ)] |
PHP 5: Новые возможности.The PterodactylCopyright 2006 Pterodactyl's School Copyright 2006 Pterodactyl's School. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License". 05.05.2006
Аннотация Исключительные ситуации и их обработка. Содержание PHP 5, подобно многим современным языкам программирования, поддерживает обработку исключительных ситуаций (exceptions) в рамках популярной парадигмы Встроенный класс ReflectionClass::export('Exception'); Class [ <internal> class Exception ] { - Constants [0] { } - Static properties [0] { } - Static methods [0] { } - Properties [6] { Property [ <default> protected $message ] Property [ <default> private $string ] Property [ <default> protected $code ] Property [ <default> protected $file ] Property [ <default> protected $line ] Property [ <default> private $trace ] } - Methods [9] { Method [ <internal> final private method __clone ] { } Method [ <internal, ctor> public method __construct ] { - Parameters [2] { Parameter #0 [ <required> $message ] Parameter #1 [ <required> $code ] } } Method [ <internal> final public method getMessage ] { } Method [ <internal> final public method getCode ] { } Method [ <internal> final public method getFile ] { } Method [ <internal> final public method getLine ] { } Method [ <internal> final public method getTrace ] { } Method [ <internal> final public method getTraceAsString ] { } Method [ <internal> public method __toString ] { } } } Исключительную ситуацию, прежде чем она подвергнется обработке, следует создать (throw[1]). throw new Exception; Fatal error: Uncaught exception 'Exception' throw new Exception('Oops!'); Fatal error: Uncaught exception 'Exception' with message 'Oops!' К сожалению, большинство встроенных функций не генерируют исключительные ситуации с целью обеспечения обратной совместимости с PHP 4. Это ограничивает возможность использования обработки исключительных ситуаций во многих случаях, где она традиционно применяется: при открытии файлов, работе с базами данных, установкой удаленных соединений и т. п. Впрочем, некоторые новые расширения, появившиеся в пятой версии, все же генерируют исключительные ситуации (например, функции
Тем не менее, это не мешает в полной мере реализовывать механизм исключительных ситуаций в собственных разрабатываемых приложениях. Структура <?php try { print 'It is Ok.'; throw new Exception('Oops!'); print 'It is wrong!'; } catch (Exception $e) { echo 'Caught exception: ', $e->getMessage(); } ?> It is Ok. Caught exception: Oops! PHP 5 позволяет разработчику установить собственный обработчик неперехваченных исключительных ситуаций при помощи функции <?php function eHandler ($e) { echo "Uncaught exception: " , $exception->getMessage(); } set_exception_handler('eHandler'); throw new Exception('Oops!'); ?> Uncaught exception: Oops! Использование механизма исключительных ситуаций значительно облегчает разработку приложений, так как в потенциально богатых ошибками участках кода (например, при установлении соединения с удаленным сервером и последующем обмене данными) вместо множества проверок Другое важное преимущество - возможность продолжения исполнения скрипта после соответствующей обработки возникшей исключительной ситуации (устранения последствий ошибки).
|
В избранное | ||