Комментарии как бы тянутся; но я хотел опубликовать некоторый код, чтобы доказать точку зрения о необработанных исключениях и сбое приложения. Итак, вот оно.
Если вы хотите вызвать исключение, используйте команду throw и класс Error . Необработанное исключение не приведет к сбою приложения.
Вот пример, который вы можете скопировать, вставить и запустить.
<?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, вы увидите, что появляется «стандартная» ошибка. Но как только вы нажмете «Отклонить», вы все равно можете нажать на кнопку и взаимодействовать с приложением.
Наличие необработанного исключения - не то же самое, что сбой приложения; или запретить пользователям взаимодействовать с приложением.
Если вы просто хотите запретить пользователям взаимодействовать с приложением, вы должны сделать что-то вроде FlexGlobals.topLevelApplication.enabled == false;
. Но в комментариях вы продолжаете настаивать, что это не то, что вы хотите сделать.