最近,我突然开始从Flex库中引发当前异常。我正在处理的文件(Login.mxml)在加载时突然开始抛出这个异常。从StaticPropertyWatcher.as抛出异常
TypeError: Error #1009: Cannot access a property or method of a null object reference.
at mx.binding::StaticPropertyWatcher/updateParent()[E:\dev\4.x\frameworks\projects\framework\src\mx\binding\StaticPropertyWatcher.as:150]
at _components_LoginWatcherSetupUtil/setup()
at components::Login()[C:\Users\username\Documents\MP_MAIN\src\components\Login.mxml:0]
<snip ...>
at mx.managers::LayoutManager/doPhasedInstantiation()[E:\dev\4.x\frameworks\projects\framework\src\mx\managers\LayoutManager.as:700]
at mx.managers::LayoutManager/doPhasedInstantiationCallback()[E:\dev\4.x\frameworks\projects\framework\src\mx\managers\LayoutManager.as:1072]
在调试器中运行它并没有给我行我的代码是错误的,但它确实给我StaticPropertyWatcher线。具体做法是:
override public function updateParent(parent:Object):void
{
// The assumption is that parent is of type, Class, and that
// the class has a static variable or property,
// staticEventDispatcher, of type IEventDispatcher.
parentObj = Class(parent);
if (parentObj["staticEventDispatcher"] != null) /* Exception thrown from here */
{
...
调试器显示parentObj
确实是零,解释该异常的直接原因,但我似乎无法确定更深的原因(即我做错了什么)。从_components_LoginWatcherSetupUtil
类中调用updateParent方法,但调试器说没有代码,所以我写的内容和导致异常的内容之间的关键连接丢失了。
所以,基本上,我甚至不能调试这个。如何解决发生问题的任何想法?
有时可以使调试运行过去的错误,如果你能做到这一点,并使用踏进按钮,它会带你回去到调用抛出错误的方法的那一行。 –