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

К счастью, существует официальный (и элегантный) способ обработки нескольких типов исключений. Каждый блок try может иметь любое количество вспомогательных блоков catch. Когда исключение генерируется в блоке try, который имеет несколько блоков catch, среда Flash выполняет тот блок catch, тип данных параметра которого совпадает с типом данных значения сгенерированного исключения.

Рассмотрим общий синтаксис оператора try с несколькими блоками catch: try {

// Код, который может генерировать исключения. } catch (е:Тип0шибки1) {

II Код обработки ошибки с типом Тип0шибки1. } catch (е:Тип0шибки2) {

II Код обработки ошибки с типом Тип0шибки2. } catch (е:ТипОшибкип) {

II Код обработки ошибки с типом ТипОшибкип.

)

Если бы оператор throw в предыдущем блоке try сгенерировал исключение, применив в качестве параметра выражение типа Тип0шибки1, был бы выполнен первый блок catch. Например, следующий код приведет к выполнению первого блока catch:

throw new ТипОшибкиК );

Если бы в оператор throw было передано выражение типа Тип0шибки2, был бы выполнен второй блок catch и т. д. Как уже известно, в языке ActionScript выражение оператора throw может принадлежать любому типу данных. Однако помните, что в большинстве программ исключения представляются только экземплярами класса Error или одного из его подклассов и это является хорошей практикой.

Если мы хотим генерировать несколько типов исключений в приложении, для каждого типа исключения мы определяем отдельный подкласс класса Error. Вам, как разработчику, необходимо определить требуемую степень детализации (то есть указать, до какой степени обособлять различные исключительные ситуации).

Определение степени детализации типов исключений. Следует ли определять подкласс класса Error для каждой исключительной ситуации? Обычно ответ на этот вопрос отрицателен — вам не потребуется такая степень детализации, поскольку во многих случаях несколько исключительных ситуаций могут иметь одинаковый смысл. Если вам не нужно задавать различие между несколькими исключительными ситуациями, то можете объединить эти ситуации в одном пользовательском подклассе класса Error. Например, вы можете определить один подкласс класса Error с именем Inval idlnputExcept ion для решения широкого круга проблем, связанных с вводом данных.

С другой стороны, вы должны определять отдельный подкласс класса Error для каждой исключительной ситуации, которая, по вашему мнению, отличается от других возможных ситуаций. Чтобы разобраться, когда следует создавать новый подкласс для конкретной исключительной ситуации, а также продемонстрировать возможность группирования нескольких ситуаций в одном подклассе, вернемся к методу setName ( ).

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

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

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

Полезные ссылки
Случайные записи
  • 17.05.2010">Самоучитель по креативному веб-дизайну. Книга 2, стр.110
  • 23.02.2011">Руководство по actionscript. часть 7, стр. 021
  • 10.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.54
  • 19.05.2010">Самоучитель по креативному веб-дизайну. Книга 2, стр.1
  • 23.01.2011">Руководство по actionscript. часть 1, стр. 021
  • 19.03.2011">Руководство по actionscript. часть 2, стр. 091
  • 12.03.2011">Руководство по actionscript. часть 3, стр. 127
  • 15.01.2010">Flash сайты
  • 07.03.2011">Руководство по actionscript. часть 4, стр. 099
  • 17.03.2011">Руководство по actionscript. часть 3, стр. 001
  • 10.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.128
  • 05.03.2011">Руководство по actionscript. часть 5, стр. 021
  • 02.03.2011">Руководство по actionscript. часть 5, стр. 097
  • 18.05.2010">Самоучитель по креативному веб-дизайну. Книга 2, стр.44
  • 15.03.2011">Руководство по actionscript. часть 3, стр. 035
Опрос

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

View Results

Loading ... Loading ...