Apache flex 什么';使Flex应用程序崩溃的最可靠方法是什么?

Apache flex 什么';使Flex应用程序崩溃的最可靠方法是什么?,apache-flex,crash,Apache Flex,Crash,我需要添加一些代码,如果满足某些条件,这些代码将使我的Flex应用程序崩溃。我需要它在Flex应用程序处于的任何状态下工作(可能它没有完全初始化,可能一些组件仍在加载,等等) 实现这一点最可靠的方法是什么?尝试以下方法之一,例如: 评论有点拖沓;但我想发布一些代码来证明关于未捕获异常和应用程序崩溃的观点。所以,在这里 如果要导致异常,请使用和。未捕获的异常不会使应用程序崩溃 下面是一个可以复制、粘贴并运行的示例 <?xml version="1.0" encoding="utf-8"?&g

我需要添加一些代码,如果满足某些条件,这些代码将使我的Flex应用程序崩溃。我需要它在Flex应用程序处于的任何状态下工作(可能它没有完全初始化,可能一些组件仍在加载,等等)

实现这一点最可靠的方法是什么?

尝试以下方法之一,例如:


评论有点拖沓;但我想发布一些代码来证明关于未捕获异常和应用程序崩溃的观点。所以,在这里

如果要导致异常,请使用和。未捕获的异常不会使应用程序崩溃

下面是一个可以复制、粘贴并运行的示例

<?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>