Исключение во время выполнения при повторной компиляции кода в Blackberry

#blackberry

#ежевика

Вопрос:

Я создал приложение.Все работает нормально.

Когда я изменил некоторый код и скомпилировал, он выдает «Исключение во время выполнения».

После того, как я удалил файл * .dmp. Все работает нормально.

Каждый раз, когда я его компилирую, возникает исключение. я удаляю * .dmp-файл и повторно выполняю.

Пожалуйста, помогите мне, в чем проблема и как ее избежать.

Ответ №1:

По моему опыту, эта ошибка связана с изменениями в структурах данных, которые вы сохраняете / загружаете из / в PersistentStore.

Если вы сохранили объект с определенной структурой, и после этого вы измените структуру своего объекта, вы получите исключение при загрузке этого объекта из постоянного хранилища.

Удаление файлов dmp очищает постоянное хранилище симулятора, и ваше приложение работает нормально. Но со старыми, несовместимыми объектами, хранящимися в файле dmp (постоянное хранилище симулятора), вы получаете исключение.

Комментарии:

1. Привет, друг. спасибо. Я использую объект persistennt в своем приложении. вы правы. Я думаю, что это ошибка.

2. вы сказали, что со старыми несовместимыми объектами, хранящимися в файле dmp (постоянное хранилище симулятора), вы получаете исключение. Ошибка «Что должно делать» в другой раз не возникает.

3. Не знаете точно, что происходит в вашем приложении. Просто обратите внимание, что если вы изменили структуру постоянных объектов (добавили / удалили поля в класс), вам необходимо удалить файлы dmp перед запуском обновленного приложения. В противном случае ваше приложение попытается применить старые данные к новой структуре объекта при загрузке и завершится неудачей.

4. Спасибо за информацию. я только добавил строку «Accept» в объект persitence, когда пользователь нажимает кнопку accept. Ничего не добавлять или удалять поле в объекте сохранения. Я изменяю только в другом классе.