ActionScript 3.0编译器编译错误大全【转】

以下是编译器遇到无效代码时生成的编译错误列表。只有在严谨模式下编译代码时,才能检测到这些错误的子集。严谨模式添加了标准语言中没有的三种约束: 表达式有静态类型,且类型错误为验证错误。 附加验证规则捕获常见编程错误。 提前报告验证错误。

以下验证错误仅在严谨模式下出现: 函数调用签名匹配,将检查所提供的参数数目及其类型。 重复定义冲突。 访问编译时未定义的方法或属性时出现未绑定的引用。 在密封对象上动态添加属性。 写入常量变量。 删除固定属性。 比较使用不兼容类型的表达式。 未找到包。

代码 消息 说明

1000 对 _ 的引用不明确。 引用可能指向多项。例如,下面使用了 rss 和 xml 命名空间。每个命名空间为 hello() 函数定义了不同的值。trace(hello()) 语句返回此错误,因为它无法确定使用哪个命名空间。 private namespace rss; private namespace xml; public function ErrorExamples() { use namespace rss; use namespace xml; trace(hello()); } rss function hello():String { return "hola"; } xml function hello():String { return "foo"; }通过使用具体的引用来纠正不明确的引用。

下面的示例 使用 namespace::function 这种格式指定所要使用的命名空间: public function ErrorExamples() { trace(rss::hello()); trace(xml::hello()); }

1003 不允许将访问说明符与命名空间属性结合使用。 不能在定义中同时使用访问说明符(如私有或公共)和命名空间属性。

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 找不到基类 _ 的定义。

1018 类的定义 _ 重复。

1020 标记为 override 的方法必须覆盖其它方法。

1021 函数的定义重复。 在同一个范围内,不能使用相同的标识符名称声明多个函数。

1022 不能覆盖 final 存取器。

1023 覆盖不兼容。 标记为 override 的函数必须与所要覆盖的函数的参数和返回类型声明完全匹配。它必须具有相同数量的参数,且每个参数的类型相同,还必须声明相同的返回类型。如果任何一个参数是可选的,该函数也必须与此参数匹配。这两个函数还必须使用相同的访问说明符(如公共和私有等)或命名空间属性。

1024 覆盖没有标记为 override 的函数。 如果某个类中的方法覆盖基类中的方法,则必须使用 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 不支持 virtual 变量。

1034 变量不能是 native。

1035 变量不能同时为 final 和 virtual。

1037 不能嵌套包。

1038 找不到 break 语句的目标。

1039 找不到 continue 语句的目标。

1040 标签的定义重复。

1041 属性是不可调用的。

1042 this 关键字不能在 static 方法中使用。它只能在实例方法、函数闭包和全局代码中使用。 不能在静态成员的内部使用 this 关键字,因为 this 可能没有上下文。

1043 命名空间未定义。

1044 接口方法 _(属于命名空间 _)未经类 _ 实现。

1045 找不到接口 _。

1046 找不到类型,或者类型不是编译时常量 _。 用作类型声明的类未知,或是运行时可能具有不同值的表达式。检查导入的类是否正确以及该类的包位置是否尚未更改。此外,检查包含代码的包(不是导入的类)是否正确定义(例如,确保使用正确的 ActionScript 3.0 包语法,而不是 ActionScript 2.0 包语法)。如果所要引用的类没有在使用的命名空间中定义或未定义为公共,也会出现该错误: public class Foo{}如果正在使用 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 对指定为常量的变量的赋值非法。

1050 不能赋给非引用值。

1051 返回值必须是 undefined。 正在试图在声明了 void 返回类型的方法中使用 return 语句。

1052 常量的初始值未知,或不是编译时常量。 用来初始化该常量的值是 undefined,或在运行时可能具有不同的值。检查初始值设定项的拼写是否正确,以及初始值设定项的值是不是一个会在运行时导致产生不同值的表达式。

1053 存取器类型必须匹配。

1054 setter 定义的返回类型必须是 unspecified 或 void。 不能为 setter 函数指定返回值。例如,下面的语句无效: public function set gamma(g:Number):Number;下面的语句是 有效的: public function set gamma(g:Number):void;

1058 属性是只写的。

1059 属性是只读的。 此属性通过 getter 函数定义,因此,可以检索该属性的值。但是,不存在为此属性定义的 setter 函数,因此,该属性是只读的。 在下面的示例中,第 3 行会生成错误,因为不存在为 xx 定义的 setter 函数: class D { function get xx() { return 22; } } var d:D = new D(); d.xx = 44; // 错误,属性是只读的

1061 调用可能未定义的方法 _(通过静态类型为 _ 的引用来调用)。 所要调用的方法未定义。

1063 无法打开文件 _。

1064 元数据无效。 无法识别此元数据。

1065 元数据的属性不能包含多个元素。

1067 将 _ 类型的值隐式强制为无关 _ 类型。 正在试图将对象转换为无法转换成的类型。如果所要转换的类不在正在转换的对象继承链中,可能会出现这种情况。仅当编译器在严格模式下运行时,才会出现这种错误。

1068 无法打开包含的文件 _。

1069 语法错误:应有定义或指令。 检查该行中的语法。

1071 语法错误:定义关键字(如 function)应在属性 _ 之后,而不是 _ 之后。 如果作者忘记在声明中使用“var”和“function”关键字,将会出现此错误。 public int z;// 应为“public var z:int;”编译器遇到意外字符时,也会出现此错误。例如,由于缺少括号,下面使用的 trace() 函数无效(正确的语法是 trace("hello")): import flash.utils.trace; trace "hello"

1072 语法错误:命名空间之前应有 xml。 正确的语句语法是 default xml namespace = ns。或者缺少关键字 xml(注意小写),或者使用了错误的关键字。有关详细信息,请参阅默认的 xml 命名空间指令。

1073 语法错误:应有 catch 或 finally 子句。

1075 语法错误:如果没有“in”运算符,则不允许使用“each”关键字。

1076 语法错误:标识符之前应有左括号。

1077 应有 CaseLabel。 在 switch 块中,编译器此时应该执行 case 语句。下面的 switch 块错误地在第一个 case 语句之前包含对 print 的调用: switch(x) { trace(2); case 0: trace(0); break }

1078 标签必须是一个简单的标识符。

1079 super 表达式必须具有一个操作数。

1080 应有递增或递减运算符。

1082 括号内应有一个表达式。

1083 语法错误:遇到意外的 _。 代码行缺少某些信息。在下面的示例中,最后一个加号的后面必须带有某个表达式(如其它数字): var sum:int = 1 + 2 + ;

1084 语法错误:应有 _(_ 之前)。 此处不需要该表达式。如果错误是“程序结束之前应有右括号”,则表示代码块缺少右大括号 (})。 如果错误是“_ 之前应有左括号”,则表示条件表达式中可能遗漏括号,如下面的示例(有意出错)所示: var fact:int = 1 * 2 * 3; if fact > 2 { var bigger:Boolean = true; }

1086 语法错误:_ 之前应有分号。

1087 语法错误:程序结束之后找到额外的字符。

1093 语法错误。

1094 语法错误:字符串文字必须在换行符之前终止。

1095 语法错误:字符串文字必须在换行符之前终止。

1097 语法错误:输入已在到达字符串文字的右引号之前结束。

1099 语法错误。

1100 语法错误:XML 没有匹配的开始和结束标签。

Error #1000: 系统内存不足。
Error #1001: 未实现 %1 方法。
Error #1002: 精度参数必须介于 %2 到 %3 之间;%1 无效。
Error #1003: 基数参数必须介于 2 到 36 之间;当前值为 %1。
Error #1004: 对不兼容的对象调用了方法 %1。
Error #1005: 数组索引不是正整数 (%1)。
Error #1006: %1 不是函数。
Error #1007: 尝试实例化的函数不是构造函数。
Error #1008: %1 有歧义;找到多个匹配的绑定。
Error #1009: 无法访问空对象引用的属性或方法。
Error #1010: 术语尚未定义,并且无任何属性。
Error #1011: 方法 %1 包含非法 opcode %2 (偏移量为 %3)。
Error #1012: 最后一条指令超出代码大小。
Error #1013: 当 scopeDepth 为 0 时,无法调用 OP_findproperty。
Error #1014: 无法找到类 %1。
Error #1015: 方法 %1 无法设置默认 XML 命名空间
Error #1016: 类型 %1 不支持后代运算符 (..)。
Error #1017: 发生范围堆栈上溢。
Error #1018: 发生范围堆栈下溢。
Error #1019: Getscopeobject %1 超出范围。
Error #1020: 代码不能超出方法结尾。
Error #1021: 至少一个分支目标不是方法中的有效指令。
Error #1022: void 类型只能用作函数返回类型。
Error #1023: 发生堆栈上溢。
Error #1024: 发生堆栈下溢。
Error #1025: 访问了无效的注册 %1。
Error #1026: Slot %1 超出 %3 中 slotCount=%2 的限制。
Error #1027: Method_info %1 超出 method_count=%2 的限制。
Error #1028: Disp_id %1 超出 %3 中 max_disp_id=%2 的限制。
Error #1029: Disp_id %1 在 %2 上未定义。
Error #1030: 堆栈深度不对称。%1 != %2。
Error #1031: 范围深度不对称。%1 != %2。
Error #1032: Cpool 索引 %1 超出范围 %2。
Error #1033: Cpool 项 %1 类型错误。
Error #1034: 强制转换类型失败:无法将 %1 转换为 %2。
Error #1035: 发现方法 %1 中存在非法的 super 表达式。
Error #1037: 无法在 %2 上为方法 %1 赋值。
Error #1038: %1 已定义。
Error #1039: 在方法被引用之前无法对其进行验证。
Error #1040: instanceof 的右侧必须是类或函数。
Error #1041: 运算符的右侧必须是类。
Error #1042: 不是 ABC 文件。major_version=%1 minor_version=%2。
Error #1043: code_length=%1 无效。
Error #1044: MethodInfo-%1 不支持 flags=%2。
Error #1045: 不支持 trait kind=%1。
Error #1046: MethodInfo-%1 被引用时未定义。
Error #1047: 未找到入口点。
Error #1049: 原型对象必须是 vanilla 对象。
Error #1050: 无法将 %1 转换为原始类型。
Error #1051: 对 %1 的早期绑定访问是非法的。
Error #1052: 传递给 %1 函数的 URI 无效。
Error #1053: 在 %2 中非法覆盖 %1。
Error #1054: 异常处理函数中存在非法的范围或目标偏移量。
Error #1056: 无法为 %2 创建属性 %1。
Error #1057: %1 只能包含方法。
Error #1058: 非法的操作数类型: %1 必须是 %2。
Error #1059: ClassInfo-%1 被引用时未定义。
Error #1060: ClassInfo %1 超出 class_count=%2 的限制。
Error #1061: 无法在不损失精度的情况下将值 %1 转换为 %2。
Error #1063: %1 的参数数量不匹配。应该有 %2 个,当前为 %3 个。
Error #1064: 无法将方法 %1 作为构造函数调用。
Error #1065: 变量 %1 未定义。
Error #1066: 不支持 function('function body') 形式。
Error #1067: 内置方法 %1 含有非法的方法正文。
Error #1068: %1 和 %2 无法协调一致。
Error #1069: 在 %2 上找不到属性 %1,且没有默认值。
Error #1070: 在 %2 上找不到方法 %1
Error #1071: 函数 %1 已被绑定到 %2。
Error #1072: Disp_id 0 是非法的。
Error #1073: 由于 disp_id %2 的重复,非覆盖方法 %1 已被替换。
Error #1074: %2 上存在对只读属性 %1 的非法写入。
Error #1075: Math 不是函数。
Error #1076: Math 不是构造函数。
Error #1077: %2 上存在对只写属性 %1 的非法读取。
Error #1078: 非法的 opcode/multiname 组合: %1。
Error #1079: 载入代码中不允许使用内置方法。
Error #1080: 非法的命名空间值。
Error #1081: 在 %2 上找不到属性 %1,且没有默认值。
Error #1082: 未设置默认的命名空间。
Error #1083: 元素“%2”的前缀“%1”未绑定。
Error #1084: 元素或属性 (“%1”) 与 QName 定义不匹配: QName::=(NCName':')?NCName。
Error #1085: 元素类型“%1”必须以匹配的结束标记“”结束。
Error #1086: %1 方法只能用于包含单一项目的列表。
Error #1087: 不允许对索引 XML 进行赋值。
Error #1088: 文档中根元素后面的标记格式必须正确。
Error #1089: 不支持对包含多个项目的列表进行赋值。
Error #1090: XML 分析器失败: 元素格式不正确。
Error #1091: XML 分析器失败: CDATA 部分未结束。
Error #1092: XML 分析器失败: XML 声明未结束。
Error #1093: XML 分析器失败: DOCTYPE 声明未结束。
Error #1094: XML 分析器失败: 注释未结束。
Error #1095: XML 分析器失败: 属性未结束。
Error #1096: XML 分析器失败: 元素未结束。
Error #1097: XML 分析器失败: 正在处理的指令未结束。
Error #1098: no namespace 带有非法前缀 %1。
Error #1100: 在由一个 RegExp 构建另一个的过程中无法提供标志。
Error #1101: 无法验证具有未知范围的方法 %1。
Error #1102: 类型 %1 的默认值非法。
Error #1103: 类 %1 不能扩展最终基类。
Error #1104: 已指定属性“%1”(针对元素“%2”)。
Error #1107: ABC 数据已损坏,尝试的读取操作超出范围。
Error #1108: OP_newclass opcode 使用的基类不正确。
Error #1109: 尝试直接调用非绑定函数 %1 (从方法 %2 中调用)。
Error #1110: %1 无法扩展 %2。
Error #1111: %1 无法实现 %2。
Error #1112: 类强制转换的参数数量不匹配。应为 1 个,当前为 %1 个。
Error #1113: 方法中使用的 OP_newactivation 没有 NEED_ACTIVATION 标志。
Error #1114: 使用的 OP_getglobalslot 或 OP_setglobalslot 不具有全局范围。
Error #1115: %1 不是构造函数。
Error #1116: Function.prototype.apply 的第二个参数必须是数组。
Error #1117: XML 名称无效: %1。
Error #1118: 节点间存在非法循环。
Error #1119: 类型 %1 的操作数不支持删除运算符。
Error #1120: 无法为 %2 删除属性 %1。
Error #1121: 方法 %1 具有重复的方法正文。
Error #1122: 接口方法 %1 含有非法的方法正文。
Error #1123: 类型 %1 不支持过滤运算符。
Error #1124: OP_hasnext2 要求对象和索引位于不同的寄存器。

转载自:http://www.cnblogs.com/ksuifeng/archive/2009/07/03/1516039.html

原文地址:https://www.cnblogs.com/myssh/p/1739279.html