Проблема с перехватом Тип Ошибка AS3 - PullRequest
1 голос
/ 25 апреля 2011

Привет. Я загружаю изображения и данные во флэш-память через XML. В некоторых битах данных отсутствует изображение или просто его нет по разным причинам. Если URL-адрес изображения имеет значение NULL, Flash возвращает сообщение TypeError: Ошибка № 2007: URL-адрес параметра должен быть ненулевым. Я пытался поймать эту ошибку, используя событие ошибки ввода-вывода, но я не уверен, что это правильный метод для этого, так как я не могу заставить его работать. Это вызывает у меня проблему, потому что когда я добавляю элементы на сцену, данные не совпадают с изображениями, и что я хотел бы сделать, когда смогу зафиксировать эту ошибку, это вставить изображение по умолчанию в _trackArray, который я буду затем используйте для добавления предметов на сцену.

private function callTracks(): void {

        for (var i:Number = 0; i < _tracksTotal; i++){
                var _trackpicUrl = _trackImage[i];

                //trace(_trackImage[i]);

                var _trackpicLoader = new Loader();


                _trackpicLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, trackpicLoaded);
                _trackpicLoader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, loadError);
                _trackpicLoader.load(new URLRequest(_trackpicUrl));


                _trackpicLoader.name = i+1;


                _trackArray.push(_trackpicLoader);
                _containerMc.addChildAt(_trackpicLoader, _ringCounter);


    }

}

private function loadError(e:IOErrorEvent): void {
        trace("IO Error: " + e);

}

Ответы [ 2 ]

1 голос
/ 25 апреля 2011

Так почему бы просто не проверить, является ли значение нулевым, когда вы присваиваете _trackpicUrl?

var _trackpicUrl:String;
if(_trackImage[i] == null) {
    //do whatever you need to handle the null
    _trackImage[i] = "myDefault.url";
}
_trackpicUrl = _trackImage[i];
0 голосов
/ 25 апреля 2011

Вы не перехватываете ошибку IOError, потому что она никогда не попадает в load ().Приведенный выше метод @shanethehat хорошо бы сработал, чтобы заполнить пробелы, но почему бы не посмотреть, почему он вообще нулевой?Вы генерируете XML динамически?

...