Apache flex 什么';使Flex应用程序崩溃的最可靠方法是什么?
我需要添加一些代码,如果满足某些条件,这些代码将使我的Flex应用程序崩溃。我需要它在Flex应用程序处于的任何状态下工作(可能它没有完全初始化,可能一些组件仍在加载,等等) 实现这一点最可靠的方法是什么?尝试以下方法之一,例如:Apache flex 什么';使Flex应用程序崩溃的最可靠方法是什么?,apache-flex,crash,Apache Flex,Crash,我需要添加一些代码,如果满足某些条件,这些代码将使我的Flex应用程序崩溃。我需要它在Flex应用程序处于的任何状态下工作(可能它没有完全初始化,可能一些组件仍在加载,等等) 实现这一点最可靠的方法是什么?尝试以下方法之一,例如: 评论有点拖沓;但我想发布一些代码来证明关于未捕获异常和应用程序崩溃的观点。所以,在这里 如果要导致异常,请使用和。未捕获的异常不会使应用程序崩溃 下面是一个可以复制、粘贴并运行的示例 <?xml version="1.0" encoding="utf-8"?&g
评论有点拖沓;但我想发布一些代码来证明关于未捕获异常和应用程序崩溃的观点。所以,在这里 如果要导致异常,请使用和。未捕获的异常不会使应用程序崩溃 下面是一个可以复制、粘贴并运行的示例
<?xml version="1.0" encoding="utf-8"?>
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" applicationComplete="windowedapplication1_applicationCompleteHandler(event)">
<fx:Script>
<![CDATA[
import mx.events.FlexEvent;
protected function windowedapplication1_applicationCompleteHandler(event:FlexEvent):void
{
var error : Error = new Error();
throw error;
}
]]>
</fx:Script>
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
<s:Button />
</s:WindowedApplication>
如果您从Flash Builder执行此应用程序,您将看到弹出一个“标准”错误。但是,一旦你点击Disclose,你仍然可以点击按钮并与应用程序交互
有一个未捕获的异常并不等同于应用程序崩溃;或者阻止用户与应用程序交互
如果您只是想阻止用户与应用程序交互,您应该能够按照
FlexGlobals.topLevelApplication.enabled==false代码>。但是,在评论中,你一直坚持这不是你想做的 是否保证会使应用程序崩溃?如果我没弄错的话,URLLoader会在出现未捕获的ioError时抛出异常,但不会使应用程序崩溃,是吗?为什么不显示模式弹出窗口,阻止用户与应用程序交互?URLLoader调度IOErrorEvent
,这与抛出错误不同。-1,并投票关闭。为什么你想故意让任何应用程序崩溃?告诉我们你的情况以及你为什么要这样做。我可以猜测,如果你加载100个YouTube视频并同时播放它们,可能会使应用程序崩溃。@Laurent我发布了一个答案,其中包含一些代码,证明抛出一个未捕获的异常并不等于使应用程序崩溃。呵呵,我喜欢最后一句话。
<?xml version="1.0" encoding="utf-8"?>
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" applicationComplete="windowedapplication1_applicationCompleteHandler(event)">
<fx:Script>
<![CDATA[
import mx.events.FlexEvent;
protected function windowedapplication1_applicationCompleteHandler(event:FlexEvent):void
{
var error : Error = new Error();
throw error;
}
]]>
</fx:Script>
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
<s:Button />
</s:WindowedApplication>