PDA

Просмотр полной версии : UncaughtErrorEvents: Подводные камни.


elder_Nosferatu
05.01.2016, 19:35
LoaderInfo.uncaughtErrorEvents...

Вроде бы хорошая штука, особенно для дебага в полевых условиях, но!

Короче, есть микро-приложение, задача которого, загружать контент, отображать его, а так же ловить все не пойманые ошибки контента и отправлять инфу о них по спец. адресу. И все было бы не плохо, да только это приложение не может отследить ошибку, если ничего не знает о классе, который эту ошибку выбрасывает. Можно конечно прописать класс контента в загружающем приложении, да только смысла тогда нет делать внешний загрузчик. Да и если контента будет целый асортимент, то прийдется все классы прописывать в загрузчике. Беда, одним словом.

Ну а вопрос сам собой напрашивается: как с этим быть? Что сделать, чтобы ролик мог поймать ошибку из НЕИЗВЕСНОГО ВНЕШНЕГО ЗАГРУЖЕННОГО ролика?

alatar
05.01.2016, 21:00
И все было бы не плохо, да только это приложение не может отследить ошибку, если ничего не знает о классе, который эту ошибку выбрасывает.
Что вы имеете ввиду? Вы подписываетесь на "uncaughtError" у loader'a... зачем вам что-то знать о внутренностях контента?

http://help.adobe.com/ru_RU/FlashPlatform/reference/actionscript/3/flash/display/Loader.html#uncaughtErrorEvents

elder_Nosferatu
05.01.2016, 22:38
Ну вообще то пример с загрузчиком и контентом - это сильное упрощение. Дело в том, что мое приложение-контент тоже состоит из разных свф-модулей, которые нужно грузить, так что кое что о "внутренностях" знать придется. А вот что касается подписки на loader... Это я упустил. Просто подписывался на root.loaderInfo.uncaughtErrorEvents в загрузочном ролике и надеялся на магию дисплейЛиста или апликейшнДомена. Да вообще, если честно, как то даже не подумал вникнуть в момент с внешними роликами.
Но факт остается фактом! Если в загрузчике определен класс, инстанс которого в загруженом ролике бросается ошибками, то root.loaderInfo.uncaughtErrorEvents загрузчика пишет доносы на все происшествия. И плевать есть подписка на ошибки через лоадер или нет.