Руководство по actionscript. часть 1, стр. 136
Выявление ошибок обращения на этапе компиляции
В начале этой главы рассказывалось, что попытка обратиться к несуществующим переменной или методу приведет к возникновению ошибки обращения. Если для компиляции программы используется стандартный режим, то компилятор не сообщает об ошибках обращения. Вместо этого, когда программа выполняется в отладочной версии среды Flash, ошибки обращения проявляются в виде исключений. Напротив, если для компиляции программы используется строгий режим, компилятор сообщает об обращениях к несуществующим переменным и методам в типизированных выражениях и прекращает компиляцию.
Например, в следующем коде создается переменная pet типа VirtualPet и этой переменной присваивается экземпляр класса VirtualPet:
var pet:Virtual Pet = new VirtualPet(«Stan»);
Затем в следующем коде происходит попытка обращения к несуществующему методу eatt ( ) через типизированную переменную pet:
pet. eatt(new Sushi( ));
В стандартном режиме предыдущий код успешно откомпилируется, однако на этапе выполнения программы произойдет ошибка обращения. В строгом режиме предыдущий код приведет к генерации следующей ошибки обращения на этапе компиляции и процесс компиляции будет завершен.
1061: Call to a possibly undefined method eatt through a reference with static type zoo-.Virtual Pet.
На русском языке текст ошибки будет следующим: Вызов, вероятно, неопределенного метода eatt через ссылку статического типа zoo:VirtualPet.
Однако стоит отметить, что компилятор не сообщает об ошибках обращения, происходящих в нетипизированных выражениях. Более того, обращения к несуществующим переменным и методам через экземпляры динамических классов (таких как Ob j ect) не приводят к генерации вообще никаких ошибок обращения; вместо этого в результате возвращается значение undefined.
Дополнительную информацию о динамических классах можно найти в гл. 15.
I Существует дополнительное преимущество при использовании аннотаций типов: в прило-м$ а п жении Flex Builder и среде разработки Flash аннотации типов для переменных, параметров fly и возвращаемых значений активизируют подсказки кода. Подсказка кода представляет собой удобное всплывающее меню, содержащее список свойств и методов объектов, которые можно добавить в ваш код путем выбора требуемого элемента.