Я знаю, что оригинальному сообщению пару лет, но так как я потратил много дней, пытаясь обойти аналогичную проблему, и так как эта тема не содержит то, что я считаю правильным объяснением, я опубликую выводы моего собственного расследования здесь, для любого другого использования:
События VerifyError почти наверняка регистрируются, потому что SWF загрузчика на NewGrounds нацелен на более низкую версию Flash Player, чем версия SWF игры, которая вызывает эту ошибку.
Flash Player в системе пользователя будет принимать загрузчик SWF NewGrounds, поскольку он нацелен на версию, равную или ниже установленной версии. После этого внешний SWF-файл, предназначенный для более высокой версии Flash Player, может быть загружен без каких-либо жалоб со стороны Flash Player, если только он не попытается получить доступ к недоступным функциям в этом Flash Player, а затем выдаст ошибку VerifyError.
Спорадический характер этой проблемы в виде 4-часовых скачков, вероятно, связан с различным проникновением более поздних версий Flash Player в разные части мира (и, следовательно, в разные часовые пояса). Во время очень активных периодов казуальных игр (выходных и вечеров?) В странах с низким уровнем проникновения последних версий Flash Player вы, скорее всего, будете регистрировать партии этих VerifyErrors.
Плохая новость заключается в том, что после многих дней попыток найти обходной путь для этой самой проблемы нам не удалось найти какой-либо способ отловить ошибку VerifyError. Он даже не попадает в обработчик UncaughtErrorEvent!
Единственное, что я могу предложить, что может помочь в вашем случае (не мое, к сожалению), это определить целевую версию SWF загрузчика NewGrounds (проверьте 4-й байт в SWF), а затем выполните одно из следующих действий:
Скомпилируйте свою игру, чтобы выбрать ту же версию Flash Player, что и цели загрузчика. Таким образом, вы можете быть уверены, что если SWF-загрузчик NewGrounds успешно загружен в Flash Player пользователя, ваш SWF-файл также будет работать в этой версии без проблем, или
В коде инициализации вашей игры проверьте Capabilities.version, чтобы определить версию Flash Player, установленную в системе пользователя, и использовать ее для управления ветвлением, чтобы расширенные функции Flash Player использовались только в соответствующих версиях Flash Player. .
В моем случае у меня есть доступ к коду загрузчика, но не к коду тысяч SWF-файлов, которые он загружает. Поскольку внешние SWF-файлы делятся на копии загрузочного SWF-файла как ByteArrays, я могу проверить байт целевой версии SWF-файла Flash Player (byteArray [3]) и сравнить его с установленной версией «major.minor» Flash Player из Capabilities.version , но поскольку байты целевой версии SWF Flash Player (в настоящее время) увеличиваются с каждым второстепенным приращением версии Flash Player, невозможно сопоставить целевой байт SWF (byteArray [3]) с будущими версиями major.minor Flash Player, пока мы не узнаем, каким будет максимальный младший номер версии текущего Flash Player.
Надеюсь, кому-нибудь еще, столкнувшемуся с этим, повезет больше, чем мы.