我在Flex AIR应用程序中获取此错误:
TypeError: Error #1034: Type Coercion failed: cannot convert org.httpclient.events::HttpErrorEvent@daf35f1 to flash.events.IOErrorEvent.
at org.httpclient.events::HttpListener/onInternalError()[/Users/gabe/Projects/as3httpclient/src/org/httpclient/events/HttpListener.as:96]
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at org.httpclient::HttpSocket/onTimeout()[/Users/gabe/Projects/as3httpclient/src/org/httpclient/HttpSocket.as:299]
at org.httpclient::HttpTimer/onTimer()[/Users/gabe/Projects/as3httpclient/src/org/httpclient/HttpTimer.as:50]
at flash.utils::Timer/_timerDispatch()
at flash.utils::Timer/tick()
我成功使用了as3httpclient库但是在我实现了一个从我的应用程序中捕获所有错误事件的代码后,我注意到这个奇怪的错误被捕获了。
在这个堆栈跟踪中根本没有对我自己的代码的引用,所以我找不到错误的位置。
您是否认为此错误是此as3httpclient库中的错误?
我该如何使用
HttpErrorEvent@daf35f1
在调试此错误时?
另外一条信息:此错误仅在启动我的申请后1分钟后出现。
答案 0 :(得分:0)
你在处理程序中使用匿名函数吗?这可能会引发奇怪的错误。
如果没有,那么当您收到错误时,在调试器中单击您的堆栈以找出正在处理它的函数。
答案 1 :(得分:0)
尝试调用事件处理程序时发生错误;所以你不会在处理程序方法中看到跟踪。
一种调试方法是将每个处理程序的参数更改为Event而不是IOEvent。这应该删除错误。然后,您可以逐个将每个方法更改回IOEvent,然后重新运行代码以确定实际错误的位置。