Руководство по actionscript. часть 2, стр. 074
Пиши
Обработка исключений
и ошибок
В этой главе мы познакомимся с системой языка ActionScript, предназначенной для генерации и реагирования на ошибки этапа выполнения программы, которые называются исключениями. В языке ActionScript ошибки могут генерироваться как средой Flash, так и выполняемой программой. Ошибки, генерируемые средой Flash, называются предопределенными; ошибки, генерируемые программой, называются пользовательскими. В программе можно реагировать на любые ошибки (как предопределенные, так и пользовательские), или, иначе говоря, обрабатывать их с помощью инструкции try/catch/finally. Генерация ошибок осуществляется с помощью инструкции throw.
Чтобы познакомиться с процессом генерации и обработки ошибок в программе, мы вернемся к нашей программе по созданию виртуального зоопарка.
I Изменения, которые будут внесены в программу «Зоопарк» на протяжении этой главы, м?; j „ являются последними для этой программы до конца книги. Чтобы завершить программу по созданию виртуального зоопарка, мы должны рассмотреть вопросы, связанные с экранным программированием и работой с мышью, которые освещены в части П. Прочитав часть II, обратитесь к приложению, чтобы узнать, как добавить графику и интерактивность в программу «Зоопарк».
Механизм обработки исключений
Если помните, класс VirtualPet определяет метод setName ( ), который присваивает значение переменной petName экземпляров класса VirtualPet. Чтобы освежить вашу память, ниже представлен соответствующий код класса VirtualPet (те части класса, которые не имеют отношения к присваиванию значения переменной petName, не приводятся):
public class VirtualPet { private var petName:String;
public function setName (newName:String):void { // Если длина заданного нового имени больше maxNameLength символов… if (newName. length > Virtual Pet. maxNameLength) { // …обрезать имя
newName = newName. substr(0, VirtualPet. maxNameLength); } else if (newName == «») { // …в противном случае, если заданное новое имя является // пустой строкой, завершить выполнение метода, не изменяя // значения переменной petName
return;
}
// Присвоить новое проверенное имя переменной petName petName = newName;
}
}
Метод setName ( ) перед тем, как изменить значение переменной petName, проверяет, является ли допустимым количество символов в новом имени животного. Если новое имя животного не является допустимым, значение переменной не изменяется; в противном случае изменение значения допускается.