#blackberry
#ежевика
Вопрос:
Я создал приложение.Все работает нормально.
Когда я изменил некоторый код и скомпилировал, он выдает «Исключение во время выполнения».
После того, как я удалил файл * .dmp. Все работает нормально.
Каждый раз, когда я его компилирую, возникает исключение. я удаляю * .dmp-файл и повторно выполняю.
Пожалуйста, помогите мне, в чем проблема и как ее избежать.
Ответ №1:
По моему опыту, эта ошибка связана с изменениями в структурах данных, которые вы сохраняете / загружаете из / в PersistentStore.
Если вы сохранили объект с определенной структурой, и после этого вы измените структуру своего объекта, вы получите исключение при загрузке этого объекта из постоянного хранилища.
Удаление файлов dmp очищает постоянное хранилище симулятора, и ваше приложение работает нормально. Но со старыми, несовместимыми объектами, хранящимися в файле dmp (постоянное хранилище симулятора), вы получаете исключение.
Комментарии:
1. Привет, друг. спасибо. Я использую объект persistennt в своем приложении. вы правы. Я думаю, что это ошибка.
2. вы сказали, что со старыми несовместимыми объектами, хранящимися в файле dmp (постоянное хранилище симулятора), вы получаете исключение. Ошибка «Что должно делать» в другой раз не возникает.
3. Не знаете точно, что происходит в вашем приложении. Просто обратите внимание, что если вы изменили структуру постоянных объектов (добавили / удалили поля в класс), вам необходимо удалить файлы dmp перед запуском обновленного приложения. В противном случае ваше приложение попытается применить старые данные к новой структуре объекта при загрузке и завершится неудачей.
4. Спасибо за информацию. я только добавил строку «Accept» в объект persitence, когда пользователь нажимает кнопку accept. Ничего не добавлять или удалять поле в объекте сохранения. Я изменяю только в другом классе.