Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 25.04.2015, 20:22
tooth212 вне форума Посмотреть профиль Отправить личное сообщение для tooth212 Найти все сообщения от tooth212
  № 1  
Ответить с цитированием
tooth212

Регистрация: Dec 2012
Сообщений: 172
Question Ловля ошибки при загрузке неправильного текстового файла

Добрый день. Возникла проблема, при ловле ошибки при загрузке некорректного текстового файла.
Загрузка и поиск ошибки делаю так:
Код AS3:
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");
}
Вылетает ошибка:
Код:
Error: Error #2101: Строка, переданная в URLVariables.decode(), должна быть строкой запроса закодированного URL-адреса и содержать пары имя/значение.
	at Error$/throwError()
	at flash.net::URLVariables/decode()
	at flash.net::URLVariables()
	at flash.net::URLLoader/onComplete()
Как можно эту ошибку ловить?

Старый 26.04.2015, 13:19
undefined вне форума Посмотреть профиль Отправить личное сообщение для undefined Найти все сообщения от undefined
  № 2  
Ответить с цитированием
undefined

Регистрация: Oct 2006
Сообщений: 2,283
похоже, URLLoader не кидает никакой эксепшен либо эвент при кривых данных в текстовике.Выход - грузить данные как TEXT и парсить самостоятельно после загрузки. Например:
Код AS3:
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
}

Старый 26.04.2015, 21:27
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 3  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Цитата:
Сообщение от undefined Посмотреть сообщение
похоже, URLLoader не кидает никакой эксепшен либо эвент при кривых данных в текстовике.
Ни разу не видел, чтобы URLLoader кидал заранее эксепшн по данным из текстовика, не загрузив данные из текстовика.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 26.04.2015, 22:50
undefined вне форума Посмотреть профиль Отправить личное сообщение для undefined Найти все сообщения от undefined
  № 4  
Ответить с цитированием
undefined

Регистрация: Oct 2006
Сообщений: 2,283
Тем не менее URLLoader спокойно может кинуть эксепшен. Пусть и по другому поводу

Старый 03.05.2015, 12:25
tooth212 вне форума Посмотреть профиль Отправить личное сообщение для tooth212 Найти все сообщения от tooth212
  № 5  
Ответить с цитированием
tooth212

Регистрация: Dec 2012
Сообщений: 172
Большое спасибо.

Создать новую тему Ответ Часовой пояс GMT +4, время: 18:26.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 18:26.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.