2017-02-09 3 views
0

Ich schreibe Code, um ein XML von einer URL zu überprüfen, es funktioniert, wenn eine Internetverbindung besteht, aber wenn ich das Internet manuell für den Test deaktiviere, wird ein Fehler angezeigt es mit try() catch().So behandeln Sie Fehlerdialoge in 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."); 
} 

Wie kann ich diesen Dialog von Benutzer zu verbergen?

+4

Fügen Sie einen [URLLoader-Ereignis-Listener] (http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/URLLoader.html#eventSummary) für IOErrorEvent.IO_ERROR z. '' 'myLoader.addEventListener (IOErrorEvent.IO_ERROR, ioErrorHandler); Funktion ioErrorHandler (Ereignis: IOErrorEvent): void { Ablaufverfolgung ("ioErrorHandler:" + Ereignis); } '' '. Sie sollten trotzdem alle Ereignisse als gutes Maß behandeln (z. B. Sicherheitsfehler usw.) –

+0

Vielen Dank für Ihre schnelle und nützliche Antwort. –

+1

Außerdem ist das Laden einer URL asynchron, daher ist Ihr try-catch-Block hier nutzlos. – Vesper

Antwort

1

Fügen Sie einen URLLoader event listener für IOErrorEvent.IO_ERROR hinzu, z.

myLoader.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); 

function ioErrorHandler(event:IOErrorEvent):void { 
    trace("ioErrorHandler: " + event); 
} 

Sie sollten alle Ereignisse als gutes Maß behandeln sowieso (zB Sicherheitsfehler, etc.) Die as3 docs example ist ein praktisches Hilfsmittel Schnipsel

Im Idealfall würden Sie nicht nur leise Nachricht verfolgen, aber hoffentlich hilfreiches Feedback anzuzeigen oder Placeholder-Inhalt für den Benutzer zu verstehen, was zu erwarten ist.

Verwandte Themen