当前位置: 首页 > 图文教程 > Flash动画 > ActionScript > TypeError: Error #1009: 无法访问空对象引用的属性或方法

ActionScript
FLASH 3D相册之利用BitmapData类制作
Flash 脚本游戏开发教程 第一课
Flash 脚本游戏开发教程第二课
Flash 脚本游戏开发教程第三课
Flash 脚本游戏开发教程第四课
Flash 脚本游戏开发教程第五课
Flash 脚本游戏开发教程第六课
Flash 脚本游戏开发教程第七课
Flash 脚本游戏开发教程第八课
Flash AS实现的蝌蚪摆尾动画的教程
从基础开始深入学Flash AS3教程(4)(译文)
从基础开始深入学Flash AS3教程(5)(译文)
从基础开始深入Flash AS3教程(2)(译文)
从基础开始深入学Flash AS3教程(3)(译文)
Flash AS3对单个图片进行角色动作化处理
从基础开始深入Flash AS3教程(1)(译文)
Flash教程:if条件语句的用法
Flash AS教程:_visible属性的详细讲解
Flash AS教程:图片环绕旋转效
Flash教程:trace()的使用

ActionScript 中的 TypeError: Error #1009: 无法访问空对象引用的属性或方法


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-01   浏览: 304 ::
收藏到网摘: n/a

刚使用AS3的朋友..
也许会经常遇到
"TypeError: Error #1009: 无法访问空对象引用的属性或方法。"

出现这个问题的原因很简单,常见的是"对象为null","属性不存在","方法不存在".
看看下面的例子:
  1. var list:Array;   
  2. trace(list.length) 

由于list还有实例化,我们就调用了他的length的属性.Ctrl+Enter运行.出现了下面的错误

  1. TypeErrorError #1009: 无法访问空对象引用的属性或方法。   
  2.     at _fla::MainTimeline/frame1()  
PS:我写在帧上,,所以函数名为frame1,类名为MainTimeline.

其实本来很好解决的问题..
可是代码提示没有告诉我们是哪个对象,哪个属性,哪个方法,,
连哪一行都没有告诉我们..

只告诉我们是哪个函数,
如果像上面只有两行代码..那当然就好解决了,
可实现情况可能会有十行~二十行~
这时候可能得使用returntry这样的排除法...一步一步解决...


累~上面是前言...可以直接跳过.....

今天介绍一个简单而不常用的方式...可以方法解决上面的问题....
还是前面的代码
  1. var list:Array;   
  2. trace(list.length)  
不过我们不使用Ctrl+Enter运行
我们使用Ctrl+Shift+Enter运行

运行后调试窗出现以下面的内容
  1. 正在尝试使用 URL C:\DOCUME~1\*\LOCALS~1\Temp\未命名-1.swf 启动并连接到播放器   
  2. 解压缩后字节数为 [SWF] C:\Documents and Settings\*\Local Settings\Temp\未命名-1.swf - 1970 字节   
  3. TypeErrorError #1009: 无法访问空对象引用的属性或方法。   
  4.     at _fla::MainTimeline/frame1()[_fla.MainTimeline::frame1:2]  
再看看IDE的中间

uploads/200902/21_114616_error.jpg


已经详细的告诉了我们是哪一行出了问题...
这样就可以快速定位到错误的行数...
然后根据该行的问题进行处理就ok了...

PS:调试功能除了刚刚说的功能外,还有很多更实用的功能,变量查看,断点调试,大家可以多尝试,对查错调试有很大帮助!!