2017-02-09 2 views
0

URLからXMLをチェックするコードを書きますが、インターネット接続が存在するときに機能しますが、インターネットでエラーダイアログボックスの表示を手動で無効にすると、それはtry() catch()です。ActionScriptでエラーダイアログボックスを処理する方法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."); 
} 

どのように私は、ユーザーからこのダイアログを非表示にできますか?

+4

IOErrorEvent.IO_ERRORの[URLLoaderイベントリスナー](http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/URLLoader.html#eventSummary)を追加します。 '' 'myLoader.addEventListener(IOErrorEvent.IO_ERROR、ioErrorHandler); 関数ioErrorHandler(イベント:IOErrorEvent):void { trace( "ioErrorHandler:" +イベント); } '' '。とにかくすべてのイベントを適切な方法で処理する必要があります(セキュリティエラーなど) –

+0

すばらしい便利な回答をいただきありがとうございます。 –

+1

また、URLのロードは非同期であるため、try-catchブロックはここでは役に立たない。 – Vesper

答えて

1

IOErrorEvent.IO_ERROR などのURLLoader event listenerを追加します。

myLoader.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); 

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

あなたは(など、例えばセキュリティエラーを)とにかく良い対策として、すべてのイベントを処理する必要があり as3 docs exampleは役に立ちスニペット

を提供して理想的には静かにメッセージをトレースしまうだけではなく、うまくいけば便利なフィードバックを表示したり、ユーザが何を期待するかを理解するためのプレースホルダコンテンツ。

関連する問題