![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|
|
|||||
|
Регистрация: Dec 2012
Сообщений: 172
|
Добрый день. Возникла проблема, при ловле ошибки при загрузке некорректного текстового файла.
Загрузка и поиск ошибки делаю так: try { var fl_TextLoader:URLLoader = new URLLoader(); fl_TextLoader.dataFormat = URLLoaderDataFormat.VARIABLES; var fl_TextURLRequest:URLRequest = new URLRequest("http://www.mysite.ru/test.txt"+ "?r="+String(Math.random()*1000)); fl_TextLoader.load(fl_TextURLRequest); } catch(e:Error) { trace("bug"); } Как можно эту ошибку ловить? |
|
|||||
|
Регистрация: Oct 2006
Сообщений: 2,283
|
похоже, URLLoader не кидает никакой эксепшен либо эвент при кривых данных в текстовике.Выход - грузить данные как TEXT и парсить самостоятельно после загрузки. Например:
import flash.net.*; import flash.events.*; try { var fl_TextLoader:URLLoader = new URLLoader(); fl_TextLoader.dataFormat = URLLoaderDataFormat.TEXT; var fl_TextURLRequest:URLRequest = new URLRequest("test.txt"); fl_TextLoader.addEventListener(Event.COMPLETE,hComplete,false,0,true); fl_TextLoader.load(fl_TextURLRequest); } catch(e:Error) { trace("bug"); } function hComplete(e:Event) { var vars:URLVariables=new URLVariables(); try { vars.decode(((e.target) as URLLoader).data as String); } catch (e:Error) { trace("invalid format"); //ашыпка } //все значения сидят в vars } |
|
|||||
|
.
|
Ни разу не видел, чтобы URLLoader кидал заранее эксепшн по данным из текстовика, не загрузив данные из текстовика.
|
|
|||||
|
Регистрация: Oct 2006
Сообщений: 2,283
|
Тем не менее URLLoader спокойно может кинуть эксепшен. Пусть и по другому поводу
|
|
|||||
|
Регистрация: Dec 2012
Сообщений: 172
|
Большое спасибо.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 18:26. |
|
|
« Предыдущая тема | Следующая тема » |
|
|