Я пишу код для проверки XML с URL-адреса, он работает, когда существует соединение с Интернетом, но когда я вручную отключу интернет для тестирования диалогового окна «Ошибка», я не могу обработать это с try() catch()
.Как обрабатывать диалоговые окна с ошибками в ActionScripts 3
try {
var myXML: XML = new XML();
var XML_URL: String = "https://drive.google.com/uc?export=download&id=0B5pkl4TJ7V0OTFBPanUyMWQxUnM";
var myXMLURL: URLRequest = new URLRequest(XML_URL);
var myLoader: URLLoader = new URLLoader(myXMLURL);
myLoader.addEventListener(Event.COMPLETE, xmlLoaded);
function xmlLoaded(event: Event): void {
myXML = XML(myLoader.data);
trace("LOCK CODE: " + myXML.LOCK);
if (myXML.LOCK == 0) {
gotoAndStop(71);
};
}
} catch (e: Error) {
gotoAndStop(71);
trace("FAILED TO CHECK LOCK.");
} finally {
gotoAndStop(71);
trace("FAILED TO CHECK LOCK.");
}
Как я могу скрыть этот диалог с пользователем?
Добавить [URLLoader event listener] (http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/URLLoader.html#eventSummary) для IOErrorEvent.IO_ERROR, например. '' 'myLoader.addEventListener (IOErrorEvent.IO_ERROR, ioErrorHandler); Функция ioErrorHandler (событие: IOErrorEvent): void { trace ("ioErrorHandler:" + событие); } '' '. Вы все равно должны обрабатывать все события (например, ошибка безопасности и т. Д.) –
Благодарим за быстрый и полезный ответ. –
Кроме того, загрузка URL-адреса является асинхронной, поэтому ваш блок try-catch бесполезен здесь. – Vesper