Вы не используете try / catch с загрузчиками.Вот что вы делаете вместо этого:
sound.addEventListener(IOErrorEvent.IO_ERROR, onIOErrorEvent);
sound.load(mySoundURL);
private function onIOErrorEvent(e:IOErrorEvent):void{
trace(e);
trace(e.message);
// ^ This will show you the file it tried to load and failed at
e.currentTarget.removeEventListener(IOErrorEvent.IOError, onIOErrorEvent);
e.currentTarget.removeEventListener(Event.COMPLETE, onComplete;
// ^ don't forget to clean up your listeners!
}
Причина этого, как вы видели, заключается в том, что неперехваченная ошибка не говорит вам ничего полезного, например, какой звук не удалось загрузить или какой URL выпопытка контакта была.
Я думаю, что @ Соболев находится на правильном пути со своим первым предположением, основываясь на том факте, что вы все еще получаете ошибку.Обработка ошибок из загрузчиков отличается от обработки ошибок из синхронного кода, и try / catch вам здесь не поможет.
Если вы хотите воспроизвести альтернативный звук при сбое с первого раза, вы сделаете это в функции onIOErrorEvent.
В других случаях вы будете слушать IOErrorEvent при использовании Loaderзагрузить SWF-файл или файл изображения
loader.contentLoaderInfo.addEventListener(IOErrorEvent....
Или URLLoader
urlLoader.addEventListener(IOErrorEvent...