Руководство по actionscript. часть 2, стр. 102

Предположим, что мы создаем приложение для обмена текстовыми сообщениями, в котором при соединении с сервером данного приложения пользователю предлагается ввести номер порта. Мы присваиваем указанный номер порта переменной с именем user Port. После этого мы пытаемся подключиться к указанному порту,

используя класс Socket. В некоторых случаях установить соединение не получится из-за ограничений безопасности. Чтобы показать, что причиной неудачной попытки соединения являются ограничения безопасности, среда выполнения Flash генерирует исключение SecurityError. Таким образом, при попытке создать соединение мы помещаем соответствующий код в блок try. Если установить соединение не получится по причинам безопасности, мы отобразим для пользователя сообщение об ошибке, обозначив проблему, из-за которой возникла данная ошибка.

var socket:Socket = new Socket( ); try {

// Пытаемся подключиться к указанному порту socket. connect(«example. com». userPort); } catch (e:SecurityError) { // Код. расположенный здесь, отображает сообщение для пользователя

}

I Список причин, которые могут привести к ошибкам соединения сокета, можно найти м?’ л * в описании метода connect() класса Socket в справочнике по языку ActionScript корпо-цу рации Adobe.

События об ошибках в случае проблемных ситуаций. В предыдущем разделе мы рассмотрели, как обработать исключение, вызванное недопустимой попыткой установить соединение сокета. Однако не все сбойные ситуации в языке ActionScript приводят к генерации исключений. Информация о проблемах, возникающих асинхронно (то есть спустя некоторое время), передается через события об ошибках, а не через исключения. Например, если мы попытаемся загрузить файл, среда выполнения Flash в асинхронном режиме сначала должна проверить, существует ли запрашиваемый файл. Если этот файл не существует, среда Flash выполнит диспетчеризацию события IOErrorEvent. IO_ERROR. Чтобы обработать возникшую проблему, код, инициировавший операцию загрузки, должен зарегистрировать обработчик для события IOErrorEvent. IO ERROR. Если этого не произойдет, возникнет ошибка на этапе выполнения. Пример обработчика события об ошибке можно найти среди примеров в подразд. «Два дополнительных примера регистрации приемников событий» разд. «Основы обработки событий в ActionScript» гл. 12.

Впереди еще одна скучная работа

Исключения никогда не являлись самым эффектным аспектом программирования. Зачастую куда более забавно создавать программы, нежели выяснять, почему эти программы работают неправильно. Тем не менее обработка ошибок — это важная часть в разработке любой программы. В следующей главе мы рассмотрим еще одну похожую скучную тему, посвященную сборке мусора. Сборка мусора помогает предотвратить ситуацию, когда программа полностью исчерпывает системную память.

ПИВА 14

Сборка мусора

Всякий раз, когда программа создает объект, среда выполнения Flash сохраняет его в системной памяти (например, ОЗУ). По мере того как программа создает сотни, тысячи или даже миллионы объектов, объем памяти, занимаемой этой программой, постепенно увеличивается. Чтобы предотвратить полное исчерпывание системной памяти, Flash автоматически удаляет из нее объекты, когда программа перестает в них нуждаться. Процесс автоматического удаления объектов из памяти называется сборкой мусора.

Доступность объектов для сборки мусора

В программе на языке ActionScript любой объект становится доступным для процесса сборки мусора сразу после того, как он окажется недостижимым. Объект считается недостижимым, когда к нему невозможно обратиться прямо или косвенно хотя бы через один корневой элемент сборки мусора. К наиболее значимым корневым элементам сборки мусора в языке ActionScript можно отнести следующие:

? переменные, определенные на уровне пакета;

? локальные переменные в выполняющемся методе или функции;

? статические переменные;

? переменные экземпляра основного класса программы;

? переменные экземпляра объекта, находящегося в списке отображения среды выполнения Flash;

? переменные, находящиеся в цепочке областей видимости выполняющейся функции или метода.

google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru

Оставить комментарий

Вы должны авторизоваться для отправки комментария.

Полезные ссылки
Случайные записи
  • 02.03.2011">Руководство по actionscript. часть 5, стр. 092
  • 22.03.2011">Руководство по actionscript. часть 2, стр. 023
  • 02.03.2011">Руководство по actionscript. часть 5, стр. 083
  • 27.07.2011">Швейцарские часы – эталон качества
  • 22.03.2011">Руководство по actionscript. часть 2, стр. 006
  • 16.06.2010">Самоучитель по креативному веб-дизайну. Книга 4, стр.27
  • 14.03.2011">Руководство по actionscript. часть 3, стр. 085
  • 10.03.2011">Руководство по actionscript. часть 4, стр. 036
  • 03.03.2011">Руководство по actionscript. часть 5, стр. 079
  • 17.06.2012">«Лаборатория Касперского» отметила сокращение количества спама
  • 04.06.2010">Самоучитель по креативному веб-дизайну. Книга 3, стр.8
  • 13.06.2010">Самоучитель по креативному веб-дизайну. Книга 4, стр.89
  • 23.01.2011">Руководство по actionscript. часть 1, стр. 020
  • 17.03.2011">Руководство по actionscript. часть 2, стр. 154
  • 23.02.2011">Руководство по actionscript. часть 7, стр. 022
Опрос

Какие цвета вы предпочитаете?

View Results

Loading ... Loading ...