Это список ошибок, генерируемых компилятором при обработке неверного кода. Определенная часть этих ошибок регистрируется только при работе в строгом режиме. В строгом режиме в силу вступают три дополнительных ограничения:
Код | Сообщение | Описание | |
---|---|---|---|
1000 | Неопределенная ссылка на %s. |
Возможно, ссылка дана на более, чем один элемент. В следующем примере используются пространства имен rss и xml , каждое их которых
задает разное значение для функции hello() . Инструкция
trace(hello()) возвращает данную ошибку, так как она не может определить используемое пространство имен.
Исправьте ссылку так, чтобы она ссылалась на определенный элемент. В следующем примере для указания на используемое пространство имен используется форма namespace::function:
| |
1003 | Использование спецификаторов доступа с атрибутами пространств имен запрещено. | В определении нельзя одновременно использовать спецификатор доступа (например, private или public) и атрибут пространства имен. | |
1004 | Пространство имен не найдено или не является константой периода компиляции. | Неизвестное пространство имен или оно является выражением, значения которого во время выполнения отличались. Проверьте правильность написания пространства имен и правильность импорта его определения. | |
1006 | Выражение super может использоваться только в методах экземпляров классов. | ||
1007 | Инструкция super может использоваться только в конструкторах экземпляров классов. |
Инструкцию super нельзя использовать в статических членах классов. Инструкцию
super можно использовать только в экземплярах классов.
| |
1008 | Неверный атрибут. | ||
1010 | Атрибут override может использоваться только в определениях свойств классов. |
Ключевое слово override нельзя использовать в блоке функции.
| |
1011 | Атрибут virtual может использоваться только в определениях свойств классов. |
Атрибут virtual нельзя использовать для объявления свойства, которое не принадлежит классу
(например, при объявлении переменной в блоке функции).
| |
1012 | Атрибут static может использоваться только в определениях внутри класса. | ||
1013 | Атрибут private может использоваться только в определениях свойств классов. | ||
1014 | Атрибут intrinsic больше не поддерживается. | ActionScript 3.0 не поддерживает ключевое слово intrinsic . | |
1016 | final является базовым классом. |
Операция расширения данного суперкласса не может быть выполнена, так как этот суперкласс помечен как
final .
| |
1017 | Определение базового класса %s не было найдено. | ||
1018 | Повторяющееся определение класса: %s. | ||
1020 | Метод, помеченный как override, имеет приоритет над другими методами. | ||
1021 | Повторяющееся определение функции. | Нельзя объявлять больше одной функции с использованием одного и того же имени идентификатора в пределах одной и той же области видимости. | |
1022 | Не удается заменить средство доступа final. | ||
1023 | Недопустимое замещение. | Функция, отмеченная как override, должна четко соответствовать параметру и возвращать объявление типа функции, которую она замещает. Она должна обладать тем же количеством однотипных параметров и объявлять одно и то же возвращаемое значение. Если же какие-либо из параметров являются дополнительными, то соответствие все равно должно соблюдаться. Обе функции должны использовать один и тот же спецификатор доступа (public, private и так далее), а также атрибут пространства имен. | |
1024 | Замена функции, которая не предназначена для замены. |
Если метод класса замещает метод в базовом классе, то следует объявить этот метод явным образом с использованием атрибута override , например:
public override function foo():void{}; | |
1025 | Не удается переопределить метод final. |
Операция расширения данного метода не может быть выполнена, так как в базовом классе он помечен как
final .
| |
1026 | Функции-конструкторы должны быть методами экземпляров. | ||
1027 | Функции не могут одновременно быть static и override. | ||
1028 | Функции не могут одновременно быть static и virtual. | ||
1029 | Функции не могут одновременно быть final и virtual. | ||
1030 | Необходимо указать имя массива аргументов переменных. |
Определение параметра ...(rest) указывает на то, что все значения, стоящие после ...(rest),
включаются в массив.
Необходимо указать имя данного массива, как это показано в примере ниже:
function foo(x,...(rest)) .
| |
1033 | Виртуальные переменные не поддерживаются. | ||
1034 | Переменные не могут быть собственными. | ||
1035 | Переменные не могут одновременно быть final и virtual. | ||
1037 | Пакеты не могут быть вложенными. | ||
1038 | Цель инструкции break не найдена. | ||
1039 | Цель инструкции continue не найдена. | ||
1040 | Повторяющееся определение метки. | ||
1041 | Атрибуты не являются вызываемыми. | ||
1042 | Ключевое слово this не может использоваться в статических методах. Оно может использоваться только в методах экземпляров, закрытиях функций и глобальном коде. |
Ключевое слово this нельзя использовать в статическом члене, так как
для оно будет находиться вне контекста.
| |
1043 | Неопределенное пространство имен. | ||
1044 | Метод интерфейса %s в пространстве имен %s не реализован классом %s. | ||
1045 | Интерфейс %s не найден. | ||
1046 | Тип не найден или не является константой периода компиляции: %s. |
Класс, использованный в качестве объявления типа, неизвестен или является выражением, значения которого во время выполнения отличались.
Убедитесь в том, что вы импортируете верный класс, и что место расположения его пакета
не изменилось. Также проверьте правильность определения пакета, содержащего код (а не импортированный класс).
Например, проверьте, не использовали ли вы
синтаксис пакета ActionScript 2.0 вместо ActionScript 3.0.
Это также может иметь место при обращении к классу, который не определен в используемом пространстве имен или не объявлен как public:
Если используется Flex Builder 2 и класс содержится в библиотеке, то в проекте необходимо указать путь к данному классу. | |
1047 | Инициализатор параметра неизвестен или не является константой периода компиляции. | Значение, использованное в качестве значения по умолчанию для этого параметра, не определено или во время выполнения принимало другое значение. Проверьте правильность написания инициализатора, а также убедитесь, не является ли значение инициализатора выражением, результат вычисления которого во время выполнения мог отличаться. | |
1048 | Невозможно использовать метод в качестве конструктора. |
Невозможно создать экземпляр метода класса. В выражениях new можно использовать только глобальные функции.
class D { function xx() { return 22; } } var d:D = new D(); var x = new d.xx(); // ошибка, метод нельзя использовать в качестве конструктора function yy() { this.a = 22; } var z = new yy(); // ошибки нет, глобальные функции можно использовать в качестве конструкторов. | |
1049 | Недопустимое назначение переменной const. | ||
1050 | Невозможно присвоить значению, не имеющему ссылку. | ||
1051 | Возвращаемое значение должно быть неопределенным. |
Попытка использования инструкции return в пределах метода, возвращаемым типом которого является
void .
| |
1052 | Инициализатор константы неизвестен или не является константой периода компиляции. | Значение, использованное для инициализации константы, не определено или во время выполнения принимало другие значения. Проверьте правильность написания инициализатора, а также убедитесь, не является ли значение инициализатора выражением, результат вычисления которого во время выполнения мог отличаться. | |
1053 | Типы средств доступа должны совпадать. | ||
1054 | Тип возвращаемого значения определения установщика должен быть не определен или иметь значение void. |
Невозможно задать возвращаемое значение для функции установщика. Например, в нижеследующем примере содержится ошибка:
public function set gamma(g:Number):Number; В следующем примере ошибки не содержится: public function set gamma(g:Number):void; | |
1058 | Свойство только для записи. | ||
1059 | Свойство только для чтения. |
Это свойство определено с помощью функции получателя, что позволяет получить значение этого свойства. Для данного свойства определенная функция установщика отсутствует,
поэтому оно является свойством только для чтения.
В третьей строке следующего примера содержится ошибка, так как для class D { function get xx() { return 22; } } var d:D = new D(); d.xx = 44; // ошибка, свойство только для чтения | |
1061 | Вызов вероятно неопределенного метода %s посредством ссылки со статическим типом %s. | Вызов неопределенного метода. | |
1063 | Не удалось открыть файл: %s. | ||
1064 | Недопустимые метаданные. | Метаданные не распознаны. | |
1065 | Атрибуты метаданных не могут содержать более одного элемента. | ||
1067 | Неявное приведение значения типа %s к несвязанному типу %s. | Попытка преобразования объекта в тип, преобразование объекта в который не поддерживается. Это происходит если класс, в который производится преобразование, не находится в цепочке наследования преобразовываемого объекта. Эта ошибка возникает, когда компьютер работает в строгом режиме. | |
1068 | Не удалось открыть включенный файл: %s. | ||
1069 | Синтаксическая ошибка: ожидается определение или директива. | Проверьте синтаксис в текущей строке. | |
1071 | Синтаксическая ошибка: ожидалось ключевое слово определения (например, функция) после атрибута %s, а не %s. |
Эта ошибка возникает, когда программист забывает включить в объявление ключевое слово var или function.
Эта ошибка возникает, когда компилятор обнаруживает неожиданный символ. Например,
такое использование функции trace() является неверным из-за отсутствующих кавычек
(пример правильного синтаксиса: trace("hello") ):
trace "hello" | |
1072 | Синтаксическая ошибка: ожидание xml до namespace. |
Примером правильного синтаксиса инструкции является: default xml namespace = ns. Отсутствует ключевое слово xml (обратите внимание на регистр)
или использовано неверное ключевое слово. Дополнительную
информацию см. в директиве default xml namespace
.
| |
1073 | Синтаксическая ошибка: ожидание предложения catch или finally. | ||
1075 | Синтаксическая ошибка: использование ключевого слова each запрещено без оператора in. | ||
1076 | Синтаксическая ошибка: ожидание открывающей скобки перед идентификатором. | ||
1077 | Ожидание CaseLabel. |
В этом месте блока переключателя компилятор ожидал инструкцию case . В следующем блоке-переключателе присутствует неверный вызов print перед первой инструкцией case :
switch(x) { trace(2); case 0: trace(0); break } | |
1078 | Метка должна представлять собой простой идентификатор. | ||
1079 | Выражение super не должно иметь более одного операнда. | ||
1080 | Ожидание инкрементного или декрементного оператора. | ||
1082 | Ожидание одиночного выражения, заключенного в скобки. | ||
1083 | Синтаксическая ошибка: неожиданное появление %s. |
В строке кода отсутствует некоторая информация. В следующем примере
не хватает какого-то выражения (например, еще одного числа) после последнего знака сложения:
var sum:int = 1 + 2 + ; | |
1084 | Синтаксическая ошибка: ожидание %s перед %s. |
В этом месте появление данного выражения было неожиданным.
Если в ошибке говорится об отсутствии правой фигурной скобки в конце программы, то это означает,
что вы не поставили закрывающую фигурную скобку (}).
Если в ошибке говорится об отсутствии левой фигурной скобки перед символом "_", то это означает, что вы не поставили в условном выражении открывающую фигурную скобку (см. следующий пример, в котором умышленно допущена эта ошибка):
| |
1086 | Синтаксическая ошибка: ожидание точки с запятой перед %s. | ||
1087 | Синтаксическая ошибка: в конце программы обнаружены лишние символы. | ||
1093 | Синтаксическая ошибка. | ||
1094 | Синтаксическая ошибка: Строковый литерал должен быть завершен до разрыва строки. | ||
1095 | Синтаксическая ошибка: Строковый литерал должен быть завершен до разрыва строки. | ||
1097 | Синтаксическая ошибка: достигнут конец ввода до закрывающей кавычки строкового литерала. | ||
1099 | Синтаксическая ошибка. | ||
1100 | Синтаксическая ошибка: в XML отсутствуют подходящие теги начала и конца. | ||
1102 | Невозможно удалить потомки super. | ||
1103 | Повторяющееся определение пространства имен. | Неоднократное определение пространства имен. Удалите или измените повторяющееся определение. | |
1105 | Целью назначения должно быть контрольное значение. | Присваивать значения переменным, но не другим значениям. | |
1106 | Операнд инкремента должен быть ссылкой. | Операнд должен представлять собой переменную, элемент массива или свойство объекта. | |
1107 | Неверный операнд инкремента. | Операнд должен представлять собой переменную, элемент массива или свойство объекта. | |
1108 | Неверный операнд декремента. | Операнд должен представлять собой переменную, элемент массива или свойство объекта. | |
1109 | Ожидание выражения. |
В части кода отсутствует выражение. Далее приведен пример с этой ошибкой
(в инструкции if отсутствует условие):
| |
1110 | Отсутствует имя тега XML. | ||
1112 | В вероятную непрерывную рекурсию из-за данного файла входит: %s. |
Включенный в компилируемый исходный код содержит дополнительные инструкции include , что может привести к возникновению бесконечного цикла. Например, файлы a.as и b.as включают друг друга, что приводит к этой ошибке.
В файле a.as содержится строка, включающая файл b.as: import foo.bar.baz; include "b.as" trace(2); А в файле b.as содержится строка, включающая файл a.as: include "a.as" | |
1113 | В %s обнаружена ссылка типа circular. |
Класс пытается расширить суперкласс. Например, класс A не может расширить класс B, если B наследуется от A:
| |
1114 | Атрибут public можно использовать только в пределах пакета. | ||
1115 | Атрибут internal можно использовать только в пределах пакета. | ||
1116 | Определенный пользователем атрибут пространства имен можно использовать только на верхнем уровне определения класса. | ||
1118 | Неявное приведение значения статического типа %s к вероятно несвязанному типу %s. | Вы используете значение с неожиданным типом, и не существует неявного приведения к типу для его преобразования в ожидаемый тип.
Возможно, вы использовали супертип там, где ожидалось использование подтипа. Например,
В последней инструкции содержится ошибка, так как здесь происходит попытка присвоить объект типа A переменной типа B. Далее определяется функция
В этом выражении также содержится ошибка, потому что возвращаемое
| |
1119 | Доступ вероятно неопределенного свойства %s посредством ссылки со статическим типом %s. |
Вы пытаетесь использовать получить доступ к свойству, которое для указанного объекта отсутствует. Например,
в следующем фрагменте кода содержится данная ошибка, так как в объекте int свойство под названием
assortment отсутствует:
Эта ошибка возникает, когда компьютер работает в строгом режиме.
| |
1120 | Доступ к неопределенному свойству %s. |
Вы попытались получить доступ к неопределенной переменной. Например, если переменная
huh не была определена, то обращение к ней приведет к этой ошибке:
Эта ошибка возникает только тогда, когда компьютер работает в строгом режиме.
| |
1121 | При определении получателя параметры не требуются. | ||
1122 | При определении установщика требуются исключительно один параметр. | ||
1123 | При определении получателя дополнительные параметры не требуются. | ||
1124 | Тип возвращаемого значения определения получателя не должен иметь значение void. | Функция получателя имитирует переменную. Так как переменные не могут быть типа void, то и объявлять функции получателей с возвращаемым типом void нельзя. | |
1125 | Определенные в интерфейсе методы не должны иметь тело. | ||
1126 | В функции отсутствует тело. | ||
1127 | Атрибут %s указан несколько раз. |
Вы несколько раз указали атрибут в пределах одной и той же инструкции. Например, выполнение инструкции public static public var x; приводит
к этой ошибке, так как в ней дважды указывается, что переменная x является public. Удалите повторяющиеся объявления.
| |
1129 | Повторяющееся определение интерфейса: %s. | Удалите или измените повторяющиеся определения. | |
1130 | Конструктор не может определять возвращаемый тип. | ||
1131 | Классы не должны быть вложенными. | ||
1132 | Атрибут final может использоваться только в методе, определенном в классе. | ||
1133 | Атрибут native может использоваться только в определениях функций. | ||
1134 | Атрибут dynamic может использоваться только в определениях классов. | ||
1135 | Синтаксическая ошибка: %s не является допустимым типом. | ||
1136 | Неверное число аргументов. Ожидается %s. |
Число предоставленных аргументов расходится с числом аргументов, ожидаемых функцией. Например, далее происходит определение функции goo , которая работает с двумя аргументами:
class A { static function goo(x:int,y:int) { return(x+y); } } В следующей инструкции содержится ошибка, как аргументов на этот раз три: A.goo(1,2,3); | |
1137 | Неверное число аргументов. Ожидается не более %s. | ||
1138 | Требуемые параметры после дополнительных параметров запрещены. | ||
1139 | Объявление переменных в интерфейсах недопустимо. | ||
1140 | Тип данных параметров, указанных после ключевого слова определения параметра ...rest, может быть исключительно Array. | ||
1141 | Класс может расширять другой класс, но не интерфейс. | ||
1142 | Интерфейс может расширять только другой интерфейс, в то время как %s является классом. | Попытка расширения класса с помощью интерфейса. Интерфейс может расширять только другой интерфейс . | |
1143 | Атрибут override может использоваться только в методе, определенном в классе. | ||
1144 | Метод интерфейса %s в пространстве имен %s реализован несовместимой подписью в классе %s. | Подписи методов должны полностью совпадать. | |
1145 | Собственные методы не могут иметь тело. |
Ключевое слово native нельзя использовать, так как оно является зарезервированным.
| |
1146 | Конструктор не может быть методом получателя или установщика. | ||
1147 | Исходный файл AS не указан. | ||
1149 | Инструкция return не может использоваться в статическом коде инициализации. | ||
1150 | Атрибут protected может использоваться только в определениях свойств классов. | ||
1151 | Конфликт с определением %s в пространстве имен %s. |
Нельзя объявлять больше одной переменной с использованием одного и того же имени идентификатора в пределах одной и той же области видимости, если все эти переменные
не являются переменными одного типа. В ActionScript 3.0 различные блоки кода (например, используемые в двух циклах for в пределах одного и того же определения функции) принадлежат к одной и той же области видимости.
В нижеприведенном примере кода происходит верное преобразование типа переменной
А в примере далее содержится ошибка, так типы, содержащиеся в объявлении переменной и циклах
| |
1152 | Конфликт с унаследованным определением %s в пространстве имен %s. | ||
1153 | Конструктор может быть объявлен только как public. | ||
1154 | В определении допускается указание только одного из следующих типов: public, private, protected или internal. | ||
1155 | Средства доступа не могут быть вложены в другие функции. | ||
1156 | Создать экземпляр интерфейса с помощью оператора new нельзя. | ||
1157 | Члены интерфейсов нельзя объявить как public, private, protected или internal. | ||
1158 | Синтаксическая ошибка: отсутствует открывающая фигурная скобка "{" перед телом функции. | ||
1159 | Инструкция return не может использоваться в коде инициализации пакета. | ||
1160 | Атрибут native не может использоваться в определениях интерфейсов. |
Ключевое слово native нельзя использовать, так как оно является зарезервированным.
| |
1162 | В каждом определении может использоваться не более одного атрибута пространства имен. | ||
1163 | Метод %s конфликтует с определением, унаследованным от интерфейса %s. | ||
1165 | Неверный атрибут интерфейса: %s. | ||
1166 | Объявления пространств имен в интерфейсах запрещены. | ||
1167 | Класс %s неоднократно реализует интерфейс %s. |
Класс неоднократно реализует один и тот же интерфейс. Далее приведен пример с этой ошибкой,
так как класс C дважды реализует интерфейс A:
Правильная инструкция реализации: | |
1168 | Недопустимое назначение функции %s. |
Попытка переопределения функции. В следующем примере происходит определение функции topLevel()
для вывода на экран слова "top". Во второй инструкции содержится ошибка, так как она присваивает функции другое возвращаемое значение:
| |
1169 | Атрибуты пространств имен в методах интерфейсов запрещены. | ||
1170 | Функция не возвращает значение. |
Во всех случаях при вычислении функции должно возвращаться значение, даже если тип возвращаемого значения отличается от void. В следующей функции f(x) ошибки не содержится,
так как инструкция if..else всегда возвращает значение:
Однако в примере ниже выполнение функции
Эта проверка действует только когда функция объявляет тип возвращаемого значения, отличного от void. | |
1171 | Инициализатор пространства имен должен быть строковым литералом или другим пространством имен. | ||
1172 | Определение %s не найдено. | ||
1173 | Недопустимое определение метки. | ||
1176 | Сравнение значения статического типа %s с вероятно несвязанным типом %s. | Эта ошибка встречается в строгом режиме. | |
1177 | Инструкция return не может использоваться в глобальном коде инициализации. | ||
1178 | Доступ к вероятно неопределенному свойству %s посредством ссылки со статическим типом %s. | ||
1180 | Вызов возможно неопределенного метода %s. | Эта ошибка возникает, когда компьютер работает в строгом режиме. | |
1181 | Опережающая ссылка на базовый класс %s. | ||
1182 | Невозможно использовать пакет в качестве переменной: %s. | ||
1184 | Несовместимое значение по умолчанию типа %s там, где ожидалось %s. | ||
1185 | Для переключателя допускается использовать только одно значение по умолчанию. | ||
1188 | Недопустимое назначение классу %s. | ||
1189 | Попытка удаления фиксированного свойства %s. Удалить можно только динамически определенные свойства. | Delete удаляет динамически определенные свойства из объекта. Объявленные свойства класса удалить нельзя. Эта ошибка возникает, когда компьютер работает в строгом режиме. | |
1190 | Базовый класс не найден или не является константой периода компиляции. | ||
1191 | Интерфейс не найден или не является константой периода компиляции. | ||
1192 | Использование атрибута static при определении пространств имен запрещено. | ||
1193 | Определения интерфейсов не должны быть вложены в класс или экземпляры других определений интерфейсов. | ||
1194 | Неверный атрибут прототипа. | ||
1195 | Попытка доступа к недоступному методу %s посредством ссылки со статическим типом %s. | Возможно, метод private вызывается из другого класса либо происходит вызов метода, определенного в неиспользуемом пространстве имен. При вызове метода из неиспользуемого пространства имен следует добавить инструкцию use для требуемого пространства имен.
| |
1196 | Синтаксическая ошибка: ожидание выражения после исключения. | ||
1197 | Класс %s не может расширить класс %s, так как оба класс связаны с символами библиотеки или главной временной шкалой. | ||
1198 | В определениях пакетов атрибуты запрещены. | ||
1199 | Внутренняя ошибка: %s. | ||
1200 | Синтаксическая ошибка: неверный инициализатор цикла for-in, ожидается только 1 выражение. | ||
1201 | Инструкция super не может стоять после инструкции this, super, return или throw. | ||
1202 | Доступ к неопределенному свойству %s в пакете %s. |
Попытка доступа к неопределенной переменной пакета. Например, если переменная
p.huh не была определена, то обращение к ней приведет к этой ошибке:
Эта ошибка возникает, когда компьютер работает в строгом режиме.
| |
1203 | В базовом классе %s отсутствует конструктор по умолчанию. | Если конструктор базового класса содержит 1 или более обязательных аргументов, то его вызов следует осуществлять с помощью инструкции super() в явном виде. | |
1204 | Обнаружены /* без соответствующих */. | Найдены символы начала комментария "/*", однако соответствующих им символов конца блока комментария "*/" не найдено. | |
1205 | Синтаксическая ошибка: ожидание открывающей скобки ({) или строкового литерала (""). | ||
1206 | Инструкция super может использоваться только в качестве последнего элемента в списке инициализатора конструктора. |
Инструкцию super нельзя использовать в конструкторе. Инструкцию
super можно использовать только в качестве последнего элемента в списке инициализатора конструктора.
| |
1207 | Ключевое слово this не может использоваться в инициализаторах свойств. |
Ключевое слово this нельзя использовать в инициализаторе свойства.
| |
1208 | Инициализатор значения конфигурации должен являться константой периода компиляции. | Значение инициализатора значения конфигурации должно быть известно на этапе компиляции. Инициализатор может представлять собой строковую константу, число, логическое значение или ссылку на другое предварительно определенное значение конфигурации. | |
1209 | Переменная конфигурации может быть объявлена только как const. | Переменная конфигурации может быть объявлена только как const. | |
1210 | Объявление значения конфигурации должно происходить на верхнем уровне программы или пакета. | Объявление значения конфигурации должно происходить на верхнем уровне программы или пакета. | |
1211 | Пространство имен %s конфликтует с пространством имен конфигурации. | Имя пространства имен не может совпадать с именем пространства имен конфигурации. | |
1212 | Значение точность должно быть целым и находиться в пределах от 1 до 34. | ||
1213 | Синтаксическая ошибка: на первом месте в блоке должна стоять инструкция на числовое использование. | ||
1214 | Несовместимая версия: в коде версии %s невозможно создать ссылку на определение %s из кода версии %s. |