最近,我突然開始從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方法,但調試器說沒有代碼,所以我寫的內容和導致異常的內容之間的關鍵連接丟失了。
所以,基本上,我甚至不能調試這個。如何解決發生問題的任何想法?
有時可以使調試運行過去的錯誤,如果你能做到這一點,並使用踏進按鈕,它會帶你回去到調用拋出錯誤的方法的那一行。 –