Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Как словить Error #2101 (http://www.flasher.ru/forum/showthread.php?t=206054)

AlexLucas 09.01.2014 20:04

Как словить Error #2101
 
Доброго времени суток.
Есть код
Код AS3:

_loader.addEventListener(Event.COMPLETE, sendResult);
_loader.load(_urlRequest);

Обращается к пхп файлу, если серверный сценарий выдаёт ошибку, вылетает RTE
Код:

Error: Error #2101: The String passed to URLVariables.decode() must be a URL-encoded query string containing name/value pairs.
        at Error$/throwError()
        at flash.net::URLVariables/decode()
        at flash.net::URLVariables()
        at flash.net::URLLoader/onComplete()

Где расставить try/catch чтоб её словить ?

Korchy 09.01.2014 20:29

Если скрипт возвращает XML, я проверяю валидность так:

Код AS3:

try {
var Data:XML = new XML(e.target.data);
}
catch (e1:Error) {
trace(e.target.data);
}


AlexLucas 09.01.2014 20:34

Ошибка вылетает до вызова обработчика (sendResult в данном случае), а значит я не имею возможности получить e.target.data.
И скрипт возвращает строку с текстом ошибки, а не
Код:

URL-encoded query string containing name/value pairs

Isfet 09.01.2014 20:34

ну судя по ошибке у вас корявые URLVariables

AlexLucas 09.01.2014 20:36

Цитата:

Ошибка вылетает до вызова обработчика (sendResult в данном случае), а значит я не имею возможности получить e.target.data.
вот так :(
Не URLVariables, а ответ от сервера, и оно и понятно, ведь
Цитата:

серверный сценарий выдаёт ошибку

Isfet 09.01.2014 20:43

при любом раскладе, то что выдает сервер должно словиться в e.target.data в хендлере onComlete, будь то ошибка или данные, даже без try/catch

Добавлено через 4 минуты
кстати _loader - это URLLoader?

AlexLucas 09.01.2014 20:54

Код:

при любом раскладе, то что выдает сервер должно словиться в e.target.data в хендлере onComlete
Ошибка вылезает ДО вызова onComplete.
Цитата:

кстати _loader - это URLLoader?
Да.
Наверное стоит ловить ошибку на сервере и отправлять адекватный ответ флешке.

caseyryan 09.01.2014 21:19

Если она вылетает до, то значит запрос составлен не верно. Возможно тип данных не указан как VARIABLES
или еще что-то. Надо смотреть весь код запроса.
А если посмотрите доки к URLLoader, то поймете, что вызов метода load может кидать ошибку.
Его надо так же окружить блоком трай / кетч

dimarik 09.01.2014 23:27

Похоже, никак. Хех, адоб опять облажалась. Пробуй глобальный uncaught.

А простая подписка на IOErrorEvent не порешала?

AlexLucas 10.01.2014 13:38

Нет, подписался на всё что можно, не ловит :(


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

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