TypeError: Error #1009: 无法访问空对象引用的属性或方法(转)

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

出现这个问题的原因很简单,常见的是"对象为null","属性不存在","方法不存在".
看看下面的例子:

  1. var list:Array;   
  2. trace(list.length)

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

  1. TypeError: Error #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. TypeError: Error #1009: 无法访问空对象引用的属性或方法。   
  4.      at _fla::MainTimeline/frame1()[_fla.MainTimeline::frame1:2]  

再看看IDE的中间

uploads/200902/21_114616_error.jpg



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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值