动作中的“无声错误”

时间:2014-05-13 11:05:52

标签: compiler-construction actionscript scripting

我多年来一直在开发动作脚本,我欣赏它的演变,因为它越来越多地成为一种通用的开发“语言”。但我在动作脚本和javascript上注意到的一件事就是人们可以称之为“无声错误” .i希望我能找到解释的话: 有时候你会编写一些代码行,编译文本而不会发出警告(没有错误......)来自编译器(我正在使用adobe Flex Builder)但是当看到结果(在运行时)时,在浏览器上结果与您的预期不同...原因:在某些时候,由于某种原因,actionscript选择忽略一些代码行甚至没有警告!我试图使用“try / catch”块,但结果仍然相同......

检查编译器开始忽略代码的唯一方法是使用“Alert.show()”表示“flex”,“alert()”表示“javascript”.i表示当有没有更多“aler()”我知道代码被忽略了...通常,我试图选择更多“健壮”的表达式来避免这种行为,结果是预期的...一般来说,当一些行代码被忽略,以下所有行都被忽略......

可能是未定义的对象调用问题,编译器无法处理运行时,但如果是这样,有人必须检查编译器...我将“-strict = true”添加到编译器选项但没有任何改变......我在javascript上经历过这种行为,所以我想这是一个更普遍的事情......有人可以解释这种行为吗?

1 个答案:

答案 0 :(得分:0)

错误发生在运行时,因此编译器无法警告您,您需要做的是获取错误的堆栈跟踪并修复它,以获得必须在调试模式下运行的详细堆栈跟踪。 另请阅读How to catch all exceptions in Flex?,您可以捕获那里未被捕获的错误,也可以将它们写入用户可以发送给您的日志中。 修复是使用try / catch / finaly或修复问题(如果实例为null)