【发布时间】:2013-10-21 03:21:58
【问题描述】:
我在我的 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 分钟后出现一次。
【问题讨论】:
-
你能分享导致错误的代码吗?听起来您的事件处理程序方法的参数类型错误。
-
我有大约 10 个处理程序,我试图通过放置 trace("handler1"); 来发现这个错误。在每个处理程序的开头,所以我会知道这个错误出现在哪里,但我的控制台中没有结果。我搜索了所有类似的处理程序: _socket.addEventListener(IOErrorEvent.IO_ERROR, handler);其中每个处理程序都有上面提到的这个跟踪语句。
-
另一个例子:client.listener.onError = function(event:IOErrorEvent):void { trace("handler2"); ...
-
尝试调用事件处理程序时发生错误;所以你不会看到任何痕迹。尝试将每个处理程序的参数更改为 Event 而不是 IOEvent;然后慢慢将它们一一添加,直到找到导致错误的那个。
-
那种@reference 对我来说是ApplicationDomain 问题。
标签: apache-flex sockets actionscript