Flex警告和错误代码表.docx
- 文档编号:5064969
- 上传时间:2022-12-13
- 格式:DOCX
- 页数:74
- 大小:46.25KB
Flex警告和错误代码表.docx
《Flex警告和错误代码表.docx》由会员分享,可在线阅读,更多相关《Flex警告和错误代码表.docx(74页珍藏版)》请在冰豆网上搜索。
Flex警告和错误代码表
编译器警告
编译器警告消息识别有效且成功编译的代码,但此代码可能不是作者想要的代码。
若要检测这些可能存在的问题,请在警告模式下编译ActionScript项目。
其中一些警告(例如,“缺少类型声明”)是一些您可以选择是否实施的编码样式选项。
其它警告(例如,“赋值不能为null”)指出语句虽然有效,但不可能按用户的期望的方式工作。
第三类警告涵盖将ActionScript2.0代码移植到ActionScript3.0时可能遇到的问题。
代码
消息
说明
1009
%s“%s”没有类型声明。
不声明数据类型是一种个人编码风格偏好。
函数的返回类型、参数或变量没有类型声明。
但如果使用类型声明,编译器就可以编写出更为有效的代码并且在编译时检测到更多的错误。
如果要在无法使用类型声明时得到提示,可以启用此警告。
1013
%s类型的变量不能为undefined。
值undefined将在比较之前被强制转换为%s类型。
只有类型为*的变量才能为undefined。
未初始化的变量的默认值是null(而不是undefined),但有几种例外情况。
例外包括:
布尔型变量,其默认值为false。
Number变量,其默认值为NaN,以及int或uint变量,其默认值为0。
1031
迁移问题:
新%s的结果将是%s的返回值,而不是该函数的新实例。
这是一个代码迁移警告。
在ActionScript3.0和ActionScript2.0中,检测到的代码具有不同的行为,如下面的示例所示:
functionf(){
this.b=22;
this.a=newArray
(2);
this.a[0]=33;
this.a[1]=44;
returna;
}
//returnsanewinstanceoffinActionScript2.0andanew2elementarrayinActionScript3.0
vard=newf(); //Warninghere
trace(d.a);//undefinedinActionScript3.0,[33,44]inActionScript2.0.
1035
所使用的Boolean()不含参数。
这是一个代码迁移警告。
Boolean()函数在ActionScript3.0中返回false,但在ActionScript2.0中返回undefined。
1039
迁移问题:
使用空字符串参数调用Number('')函数时,在ActionScript3.0中返回0,在ActionScript2.0中返回NaN。
这是一个代码迁移警告。
使用String参数调用的Number()方法会跳过该字符串中的所有空白,并在检测不到数字时返回默认值0。
在ActionScript2.0中,该字符串中的任何空白都会导致结果为NaN。
1045
迁移问题:
Array.toString()对null和undefined元素的处理方式已更改。
这是一个代码迁移警告。
在ActionScript2.0中,null数组元素转换为null,而undefined元素转换为undefined。
在ActionScript3.0中,null和undefined元素都转换为空字符串''。
如果您的代码分析了Array中的toString()输出,您可能需要针对这两种情况的区别对代码进行调整。
1059
迁移问题:
不再支持%s属性。
%s.
这是一个代码迁移警告。
您正在尝试使用的属性未存在于ActionScript3.0中。
1061
迁移问题:
不再支持%s方法。
%s.
这是一个代码迁移警告。
ActionScript3.0中不存在您正在尝试使用的方法。
1066
不再支持__resolve。
1067
迁移问题:
不再支持__resolve。
对类似的功能使用新的Proxy类。
这是一个代码迁移警告。
有关替换__resolve的详细信息,请参阅本语言参考中的Proxy。
1071
迁移问题:
不再支持_level。
有关详细信息,请参阅flash.display包。
这是一个代码迁移警告。
您正在尝试使用的属性未存在于ActionScript3.0中。
1073
迁移问题:
%s不是动态类。
不能为实例动态添加成员。
这是一个代码迁移警告。
在ActionScript2.0中,许多类(如Number)是动态的,这意味着可以在运行时向这些类的实例中添加新属性。
如果代码尝试向非动态类的实例中添加属性,则会产生此警告。
1083
迁移问题:
由于此关键字的作用域发生变化,因此方法%s在ActionScript3.0中的行为将有所不同。
有关详细信息,请参阅警告条目1083。
这是一个代码迁移警告。
将对象的方法作为值(通常是回调函数)使用时,将会生成此警告。
在ActionScript2.0中,在调用函数的上下文中执行函数;在ActionScript3.0中,总是在定义函数的上下文中执行函数。
因此,变量和方法的名称将被解析为回调函数所属的类,而不是与调用该函数的上下文有关的类,如下面的示例所示:
classa
{
varx;
functiona(){x=1;}
functionb(){trace(x);}
}
varA:
a=newa();
varf:
Function=a.b;//warningtriggeredhere
varx=22;
f();//prints1inActionScript3.0,22inActionScript2.0
1085
%s的作用域将是默认的命名空间:
%s内部。
它在此包的外部不可见。
不声明命名空间是一种个人编码风格偏好。
如果要在忘记声明定义的命名空间或访问说明符时得到提示,可以启用此警告。
如果没有命名空间或访问说明符,该定义对于此文件之外的代码是不可见的。
要使该定义对于此文件之外的代码是可见的,请使用访问说明符public或命名空间声明对该定义进行声明。
要使该定义的作用范围仅限于此文件并避免生成此警告,请将该定义声明为private。
1087
迁移问题:
ActionScript3.0按随机顺序迭代“forxintarget”语句中的对象属性。
这是一个代码迁移警告。
在ActionScript2.0中,对象属性的处理顺序始终不变。
在ActionScript3.0中,该顺序是随机的,可因计算机而异。
如果出现意外的排序行为,请检查此循环,以确定此行为更改是否会影响代码。
1089
错误代码:
%s.
这是由于源文件遭到破坏或编译器代码中出现错误造成的。
请与Adobe,Inc.联系,以便将错误登记备案。
1091
迁移问题:
%s
这是一个代码迁移警告。
在ActionScript2.0中,如果声明方法时使用的是特殊名称(如onMouseDown),那么,在出现特定事件时,Flash可能会调用该方法。
在ActionScript3.0中,必须通过方法来调用addEventListener(),从而对这一函数进行注册以接收该事件。
有关详细信息,请参阅本语言参考中的addEventListener。
1093
在应为uint(非负)值的地方使用了负值。
将负值赋给uint数据类型的变量将产生极大的正值。
varx:
uint=-1;trace(x);//4294967295.
1097
与null的比较不合逻辑。
%s类型的变量不能为null。
Boolean、int、uint和Number类型的实例不能为null。
与Boolean数据类型比较之前,比较运算符类型将null转换成false;与Number、int或uint数据类型比较之前,将其转换成0。
1099
与NaN的比较不合逻辑。
此语句的结果总是false。
NaN具有独特的数学性质,任何与其相关的比较都会得到false的计算结果。
改用全局isNaN()函数检测NaN值,如下面的示例所示:
trace(NaN==NaN);//false!
trace(NaN!
=NaN);//falseagain!
trace(isNaN(NaN));//true
1101
条件语句之内的赋值语句。
您指的是==而不是=?
=赋值语句的结果是该=语句右边的值。
可以将赋值语句用作条件测试,但不建议这样做。
通常,出现=是由于计划执行==相等测试时的键入错误造成的,如下面的示例所示:
varx:
Boolean=false;
vary:
Boolean=true;
//itishardtodetermineifthelinebelowintentionallysetsx'svaluetoy'sorifitsatypo
if(x=y){trace("xisassignedy'svalueoftrue,makingtheconditionaltestevaluateastrue.");}
1103
在应为%s值的地方使用了null。
不能将null作为值赋给Boolean、Number、int和uint变量。
赋给Boolean数据类型时,null值会隐式转换为false,而赋给int、uint或Number数据类型时会转换为0。
1105
没有为类%s指定构造函数。
不指定构造函数是一种个人编码风格偏好。
如果需要始终为类声明构造函数,可以启用此警告。
此警告旨在帮助您发现类名称更改但其构造函数名称没有更改的情况。
不启用此警告时此类情况不会被标记为问题,前一个构造函数看上去是一个标准函数。
1111
常数未经初始化。
1113
Array(x)的作用像新的Array(x)一样。
要将某个值转换为Array类型,请将表达式x作为Array而不是Array(x)使用。
1115
在进入此构造函数之前将执行super()语句。
如果希望显式控制执行super()语句的时间,请在构造函数中添加对该语句的调用。
在构造函数中添加对super()的调用是一种个人编码风格偏好。
如果需要始终明确super()的调用时间,可以启用此警告。
启用此警告对于打算在某些本地初始化代码之后调用super()但忘记对其进行添加的情况非常有用。
3552
与使用TextField.appendText()方法相比,使用+=将文本追加到TextField要慢许多倍。
有关此重要文本优化操作的详细信息,请参阅本语言参考中有关TextField类的appendText()方法的内容。
3554
在应为%s类型的地方使用了函数值。
在此函数引用之后可能缺少括号()。
在ActionScript中,可以将函数本身用作值。
此处所述的代码使用的是Function类型的值,但需要的是Function、Object或*之外的类型。
通常,这表示出现函数名称之后遗漏括号()的键入错误。
3556
已不再使用instanceof运算符,请改用is运算符。
3574
迁移问题:
ActionScript2.0XML类已更名为XMLDocument。
这是一个代码迁移警告。
在ActionScript3.0和ActionScript2.0中,XML是不同的类。
ActionScript3.0中的XMLDocument类与ActionScript2.0中的XML类等效。
ActionScript3.0XML类通过更为简便和更加强大的API提供了增强的功能。
有关其它详细信息,请参阅《ActionScript语言参考》中的XML。
3576
Date(x)的行为与新的Date().toString()相同。
要将某个值转换为Date类型,请使用"xasDate"而不是Date(x)。
3582
使用与当前类相同的名称导入包会在此范围内隐藏该类标识符。
3584
指定了多个名为“%s”的参数。
对该参数的引用将始终解析到最后一个参数。
3590
使用了非Boolean值,但是应为Boolean值。
3591
在应为布尔值的地方使用了%s。
表达式会被强制转换为Boolean类型。
3593
%s不是动态类%s可识别的属性。
在严谨的编译模式下,不会在动态类的实例中检查未定义属性。
类型Date、RegExp和Error是动态的,以便向后与ECMAScript兼容。
此警告在这些类的实例中找到了对未定义属性的使用。
一个常见的问题是尝试获取或设置的Date值的year属性不存在。
正确的属性名称是fullYear。
3595
%s不是动态类%s可识别的方法。
在严谨的编译模式下,不会在动态类的实例中检查未定义的方法。
类型Date、RegExp和Error是动态的,以便向后与ECMAScript兼容。
此警告在这些类的实例中找到了对未定义方法的使用。
3597
重复的变量定义。
编译器检测到变量的重复定义。
这会导致意外的结果。
ActionScript不支持变量的块级别作用范围。
在函数体内定义的所有变量存在于同一作用域中,即便在if语句、while语句和for语句中定义这些变量也是如此:
例如,下面的代码会重复声明变量x两次:
functiontest(){
varx:
Number=10;
if(true){
for(varx=0;x<5;x++)//warninghere,thisistheseconddefintionofx
trace(x);
}
trace(x);//5,not10.Thelastvaluesetbytheforloopaboveisthecurrentvalueofx
}
3598
定义名称与导入的包名称相同。
对该名称的非限定引用将解析到包而不是定义。
3599
定义名称与导入的包名称相同。
对该名称的非限定引用将解析到包而不是定义。
如果某定义的名称与范围内的包相同,则对该名称的任何非限定引用都将解析为该包,而不是解析为该定义。
这会在尝试引用该变量时导致意外的错误。
为此,必须限定对该定义的所有引用,以便将其解析为该定义,而不是解析为该包。
3600
可能尝试删除某固定属性。
3601
无法删除已声明的属性%s。
要释放关联的内存,请将其值设置为null。
Delete将删除对象中动态定义的属性。
无法删除类的已声明属性,操作将失败而不给出任何提示。
要释放与此变量关联的内存,请将其值设置为null。
3602
使用了不推荐使用的定义。
3603
'已不推荐使用“%s”。
不推荐使用此定义,并且将来可能会删除此定义。
3604
使用了不推荐使用的定义。
3605
%s
3606
使用了不推荐使用的定义。
3607
'已不推荐使用“%s”。
请使用“%s”。
3608
使用了不推荐使用的定义。
3609
'已不推荐使用“%s”(从%s起)。
请使用“%s”。
3610
使用了不推荐使用的定义。
3611
'已不推荐使用“%s”(从%s起)。
运行时错误
运行时可能发生以下错误。
在ActionScript3.0中,无论是在严谨模式下还是在警告模式下编译,都将进行运行时类型检查。
代码
消息
说明
1000
系统内存不足。
系统可用内存无法满足FlashPlayer编译代码的需要。
请关闭系统上正在运行的某些应用程序或进程。
1001
未实现方法%1。
1002
Number.toPrecision的范围是1至21。
Number.toFixed和Number.toExponential的范围是0至20。
指定的值不在期望范围之内。
指定的值不在precision参数的期望范围之内。
Number.toPrecision的范围是1至21。
Number.toFixed和Number.toExponential的范围是0至20。
1003
radix参数必须介于2至36之间;实际得到的是%1。
为方法或属性的radix参数传递的值小于2或大于36。
请传递一个介于2至36之间的值作为radix参数。
1004
对不兼容的对象调用了方法%1。
尝试调用的方法不适用于指定对象。
如果已将原型函数从一个对象复制到另一个对象然后又调用此函数,但目标对象类型与原始对象类型不同,则会发生此错误。
请确保目标对象与原始对象的类型相同。
有关详细信息,请参阅ECMAScriptLanguageSpecification(《ECMAScript语言规范》)第3版中的第15章。
1005
数组索引不是正整数(%1)。
尝试使用非正整数的索引值访问数组成员。
仅传递正整数作为数组的索引值。
1006
%1不是函数。
尝试调用不存在的函数时,发生此错误。
请确保正在调用正确的函数且自ActionScript2.0以来此API尚未发生更改。
此外,请确保正在使用正确的对象。
例如,使用以下代码时,将出现此错误(由于最后一行错误地调用了变量big,而非blg):
varblg:
String="foo";
varbig:
Sprite=newSprite();
varerror:
int=big.length();
1007
尝试实例化的函数不是构造函数。
1008
%1指代不明确;找到了多个匹配的绑定。
1009
无法访问空对象引用的属性或方法。
计算结果为null的对象可以不包含任何属性。
在某些意外(尽管有效)的情况下,可能发生此错误。
以创建Sprite对象的以下代码为例。
由于从未将此Sprite对象添加到显示列表中(使用DisplayObjectContainer对象的addChild()方法),因此其stage属性设置为null。
在这种情况下,此示例将生成此错误,这是因为Sprite对象的stage属性不能拥有任何属性:
importflash.display.Sprite;
varsprite1:
Sprite=newSprite();
varq:
String=sprite1.stage.quality;
1010
术语尚未定义,并且无任何属性。
如果尝试访问并不存在的对象的属性,将发生此错误。
例如:
varobj:
Object=newObject();
obj.a="foo";
trace(obj.b.prop);
由于拼写错误也可能产生此错误,在下面的示例中,mc表示显示列表中的MovieClip对象,stage属性中的小写字母s被错误地拼写为大写字母S(应该为stage):
trace(mc.Stage.quality);
1011
方法%1包含非法的opcode%2(在偏移%3处)。
请参见此表底部的注意。
*
1012
最后一条指令超出代码大小。
请参见此表底部的注意。
*
1013
当scopeDepth为0时,无法调用OP_findproperty。
请参见此表底部的注意。
*
1014
找不到类%1。
1015
方法%1无法设置默认的XML命名空间。
请参见此表底部的注意。
*
1016
类型%1不支持后代运算符(..)。
1017
发生范围堆栈上溢。
请参见此表底部的注意。
*
1018
发生范围堆栈下溢。
请参见此表底部的注意。
*
1019
Getscopeobject%1超出范围。
请参见此表底部的注意。
*
1020
代码不能超出方法结尾。
请参见此表底部的注意。
*
1021
至少一个分支目标不是方法中的有效指令。
请参见此表底部的注意。
*
1022
void类型只能用作函数返回类型。
请参见此表底部的注意。
*
1023
发生堆栈上溢。
请参见此表底部的注意。
*
1024
发生堆栈下溢。
请参见此表底部的注意。
*
1025
访问了无效的寄存器%1。
请参见此表底部的注意。
*
1026
插槽%1超出%3的slotCount=%2。
请参见此表底部的注意。
*
1027
Method_info%1超过method_count=%2。
请参见此表底部的注意。
*
1028
Disp_id%1超过%3的max_disp_id=%2。
请参见此表底部的注意。
*
1029
Disp_id%1未在%2上定义。
请参见此表底部的注意。
*
1030
堆栈深度不对称。
%1!
=%2.
请参见此表底部的注意。
*
1031
范围深度不对称。
%1!
=%2.
请参见此表底部的注意。
*
1032
Cpool索引%1超出范围%2。
请参见此表底部的注意。
*
1033
Cpool条目%1是错误的类型。
请参见此表底部的注意。
*
1034
强制转换类型失败:
无法将%1转换为%2。
1035
在方法%1中发现了非法的超级表达式。
请参见此表底部的注意。
*
1037
无法向%2上的方法%1赋值。
请参见此表底部的注意。
*
1038
已定义%1。
在同一作用域内,不能多次声明具有同一标识符名称的变量或函数。
在ActionScript3.0中,不同的代码块(如用于同一function定义中的两个for循环中的代码块)将被视为在同一作用域内。
请参见此表底部的注意。
*
1039
在方法被引用之前无法对其进行验证。
请参见此表底部的注意。
*
1040
instanceof的右侧必须是类或函数。
instanceof运算符右侧的表达式必须为类或函数。
1041
运算符的右侧必须是类。
is运算符右侧的表达式必须为类。
1042
不是ABC文件。
major_version=%1minor_ve
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Flex 警告 错误 码表