addEventListener(ErrorEvent.ERROR, handler) 是否处理actionscript3中所有类型的错误事件?
addEventListener(ErrorEvent.ERROR, handler)
是否处理所有类型的错误事件,例如 IOErrorEvent.IO_ERROR
、SecurityErrorEvent.SECURITY_ERROR
等所有错误事件?
我正在寻找 addEventListener()
版本的 try catch(e:Error)
(e:Error 可以捕获所有类型的错误)。
Does addEventListener(ErrorEvent.ERROR, handler)
handle all type of error event, for example, IOErrorEvent.IO_ERROR
, SecurityErrorEvent.SECURITY_ERROR
, and other all error events?
I'm looking for addEventListener()
version of try catch(e:Error)
(e:Error can catch all type of errors).
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您可以将错误处理程序添加到
UncaughtErrorEvents
对象:这只能在 Flash Player 10.1 及更高版本中实现。
您可以在此处找到更多信息:flash.events。 UncaughtErrorEvents
这对于处理加载的 SWF 中的异常特别有用。我想你这样做有一个充分的理由吗?
You can add error handlers to the
UncaughtErrorEvents
object:This is only possible in Flash Player 10.1 and above.
You can find more information here: flash.events.UncaughtErrorEvents
This can be especially helpful for handling exceptions from a loaded SWF. I assume you have a good reason for doing this?
每个事件类型都注册为不同的
String
,因此捕获所有不同类型的事件的唯一方法是监听未捕获错误由特殊的 UncaughtErrorEvents 调度程序转发。值得注意的是,它存在于任何DisplayObject
的loaderInfo
属性 @DisplayObject.loaderInfo.uncaughtErrorEvents
上。演示接收未捕获错误的 3 种方法...
来自 Adobe 文档...
可以通过两种方式访问
UncaughtErrorEvents
对象...LoaderInfo.uncaughtErrorEvents
-- 用于检测代码中未捕获的错误在同一个 SWF 中定义。<块引用>
当未处理的错误时调度 uncaughtError 事件的对象
此 Loader 对象加载的 SWF 中发生错误。一个
当错误抛出到任何外部时,就会发生未捕获的错误
try..catch 块或者当没有调用 ErrorEvent 对象时
注册听众。
请注意,Loader 对象的 uncaughtErrorEvents 属性会调度
通过它冒泡的事件,而不是它直接分派的事件。
它永远不会在目标阶段调度 uncaughtErrorEvent。它仅
在捕获和冒泡阶段调度事件。检测一个
当前 SWF 中未捕获的错误(Loader 对象所在的 SWF)
已定义)请改用 LoaderInfo.uncaughtErrorEvents 属性。
Loader.uncaughtErrorEvents
-- 检测由 Loader 对象加载的 SWF 中定义的代码中未捕获的错误。<块引用>
当未处理的错误时调度 uncaughtError 事件的对象
此 LoaderInfo 对象的 SWF 文件中的代码发生错误。一个未捕获的
当错误抛出到任何 try..catch 块之外时,就会发生错误
或者当没有注册的情况下调度 ErrorEvent 对象时
听众。
当 SWF 与此 LoaderInfo 关联时,将创建此属性
已完成加载。在此之前,uncaughtErrorEvents 属性为
无效的。在仅使用 ActionScript 的项目中,您可以访问此属性
在 main 的构造函数执行期间或之后
SWF 文件的类。对于 Flex 项目,uncaughtErrorEvents
属性在 applicationComplete 事件发生后可用
已发送。
Adobe 文档中的一些重要详细信息...
Each event type is registered as a different
String
, so the only way to catch all events of varying types is to listen for uncaught errors that get relayed by a specialUncaughtErrorEvents
dispatcher. Notably, this exists on anyDisplayObject
'sloaderInfo
property @DisplayObject.loaderInfo.uncaughtErrorEvents
.Demonstrating 3 ways to receive uncaught errors...
From Adobe's documentation...
The
UncaughtErrorEvents
object can be accessed in two ways...LoaderInfo.uncaughtErrorEvents
-- to detect uncaught errors in code defined in the same SWF.Loader.uncaughtErrorEvents
-- to detect uncaught errors in code defined in the SWF loaded by a Loader object.Some important details from Adobe's documentation...
如果你想捕获应用程序中的所有错误,你绝对应该使用 try-catch 块。通过使用 addEventListener,您可以将侦听器添加到特定对象,并且您只能捕获那里的错误。
if you want to catch all the errors in your application you should definitely use try-catch blocks. By using addEventListener you are adding listener to a specific object and you will catch the errors only there.